body {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

/* Font Size */

.fs-16 {
    font-size: clamp(0.875rem, 0.7188rem + 0.5vw, 1rem) !important;
}

.fs-18 {
    font-size: clamp(1rem, 0.9278rem + 0.3082vw, 1.125rem) !important;
}

.fs-22 {
    font-size: clamp(1.125rem, 0.8125rem + 1vw, 1.375rem) !important;
}

.fs-24 {
    font-size: clamp(1.375rem, 1.2188rem + 0.5vw, 1.5rem) !important;
}

.fs-44 {
    font-size: clamp(2.5rem, 2.1875rem + 1vw, 2.75rem) !important;
}

.section {
    padding: clamp(3.125rem, 0.7813rem + 7.5vw, 5rem) 0;
    position: relative;
}

p {
    font-size: 1.375rem;
    font-weight: 500;
}

p:last-child {
    margin-bottom: 0;
}

.main-title {
    font-size: clamp(2.625rem, 2.1563rem + 1.5vw, 3rem) !important;
    font-weight: bold;
}

.sub-title {
    font-size: clamp(2.25rem, 1.9375rem + 1vw, 2.5rem) !important;
    font-weight: bold;
}


/* color */
.bg-light-yellow {
    background-color: #F4EEE5;
}

.text-purple {
    color: #6E5AE2;
}

/* margin start */
.mb-20 {
    margin-bottom: 1.25rem;
}

.mb-30 {
    margin-bottom: 1.875rem;
}

.mb-40 {
    margin-bottom: 2.5rem;
}

.mb-80 {
    margin-bottom: clamp(2.5rem, -0.625rem + 10vw, 5rem);
}


.br-24 {
    border-radius: 1.5rem;
}

.hero-section {
    position: relative;
    background-color: #F4EEE5;
    z-index: 0;
    display: block;
    padding: clamp(7.5rem, 1.25rem + 20vw, 12.5rem) 0px clamp(3.75rem, -3.2813rem + 22.5vw, 9.375rem) 0;
}

.hero-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/shape1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: -1;
}

.hero-section::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/shape2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    z-index: -1;
}

.mask-hero-img {
    mask-image: url(../img/other/hero-mask.png);
    mask-repeat: no-repeat;
    /* mask-size: contain; */
    mask-position: center;
}

@media(min-width: 992px) {
    .line-cure::after {
        content: "";
        width: 84px;
        height: 31px;
        position: absolute;
        left: 15px;
        top: 25px;
        background-image: url(../img/svg/shape/line-cure.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .smile-shape::after {
        content: "";
        width: 63px;
        height: 51px;
        position: absolute;
        right: 80px;
        top: 0px;
        background-image: url(../img/svg/shape/smile-shape.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .rounded-shape::after {
        content: "";
        width: 64px;
        height: 58px;
        position: absolute;
        left: 25px;
        bottom: -25px;
        background-image: url(../img/svg/shape/rounded-shape.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .rounded-shape2::after {
        content: "";
        width: 60px;
        height: 63px;
        position: absolute;
        right: 0;
        bottom: -70px;
        background-image: url(../img/svg/shape/rounded-shape2.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .triangle-shape::after {
        content: "";
        width: 20px;
        height: 19px;
        position: absolute;
        left: 40px;
        top: 150px;
        background-image: url(../img/svg/shape/triangle-shape.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .triangle-shape2::after {
        content: "";
        width: 11px;
        height: 11px;
        position: absolute;
        right: 45px;
        bottom: 45px;
        background-image: url(../img/svg/shape/triangle-shape2.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .message-shape::after {
        content: "";
        width: 55px;
        height: 47px;
        position: absolute;
        left: 80px;
        top: 125px;
        background-image: url(../img/svg/shape/message.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .star-outline::after {
        content: "";
        width: 33px;
        height: 41px;
        position: absolute;
        right: 145px;
        top: 70px;
        background-image: url(../img/svg/shape/star-outline.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    .message-shape2::after {
        content: "";
        width: 45px;
        height: 39px;
        position: absolute;
        right: 215px;
        bottom: -15px;
        background-image: url(../img/svg/shape/message2.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: zoom-effect 1.5s infinite;
    }

    @keyframes zoom-effect {

        0%,
        100% {
            transform: translate(-50%, -50%) scale(1);
        }

        50% {
            transform: translate(-50%, -50%) scale(1.2);
        }
    }

    .balloon-shape::after {
        content: "";
        width: 93px;
        height: 163px;
        position: absolute;
        left: -25px;
        top: 140px;
        background-image: url(../img/svg/shape/balloon-shape.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: float-bob-y 3s infinite;
    }

    .earth-shape::after {
        content: "";
        width: 130px;
        height: 59px;
        position: absolute;
        left: -10px;
        bottom: -10px;
        background-image: url(../img/svg/shape/earth.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: float-bob-y 3s infinite;
    }

    .rocket-shape::after {
        content: "";
        width: 146px;
        height: 135px;
        position: absolute;
        right: -50px;
        top: 50px;
        background-image: url(../img/svg/shape/rocket.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: float-bob-y 3s infinite;
    }

    @keyframes float-bob-y {
        0% {
            -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
        }

        50% {
            -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
        }

        100% {
            -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
        }
    }

    .rembo-shape::after {
        content: "";
        width: 180px;
        height: 176px;
        position: absolute;
        right: -50px;
        bottom: -20px;
        background-image: url(../img/svg/shape/rembo.svg);
        background-repeat: no-repeat;
        background-size: contain;
        animation: rembo 5s linear infinite;
    }

    @keyframes rembo {
        50% {
            transform: rotate(20deg);
        }
    }

    .line-cure-right::after {
        content: "";
        width: 518px;
        height: 248px;
        position: absolute;
        left: 16%;
        top: 26%;
        background-image: url(../img/svg/shape/line-cure-right.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }

    .line-cure-left::after {
        content: "";
        width: 518px;
        height: 248px;
        position: absolute;
        right: 20%;
        bottom: 26%;
        background-image: url(../img/svg/shape/line-cure-left.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }
}

/* footer css */
.footer-shape {
    position: relative;
    background-color: #F4EEE5;
    z-index: 0;
    display: block;
    /* overflow: hidden; */
    padding: clamp(3.75rem, -3.2813rem + 22.5vw, 9.375rem) 0 0 0;
}

.footer-shape::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/shape4.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: -1;
}

.footer-shape::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/shape5.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    z-index: -1;
}

.nav-custom .nav-link {
    color: #1A1A1A;
}

.nav-custom .nav-link:hover {
    color: #E86AA7;
}

/* ribbon slider */
.ribbon-section {
    overflow: hidden;
    position: relative;
    padding: clamp(3.75rem, 0.625rem + 10vw, 6.25rem) 0;
}

.ribbon-section .banner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    position: absolute;
    width: 150%;
    height: 80px;
    color: white;
    font-size: 24px;
    /* text-transform: uppercase; */
    left: -25%;
}

.ribbon-section .banner1 {
    top: 50%;
    transform: translateY(-50%) rotate(-3deg);
    background-color: #f3b4d3;
}

.ribbon-section .banner2 {
    top: 50%;
    transform: translateY(-50%) rotate(3deg);
    background-color: #E86AA7;
}

.ribbon-section .ribbon-slider .ribbon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    /* justify-content: space-between; */
    gap: clamp(1.5625rem, -0.7813rem + 7.5vw, 3.4375rem);
}

.ribbon-section .ribbon-slider .ribbon-box img {
    display: unset;
    width: unset !important;
}


/* playdayz css */
.playdayz .numbar {
    font-size: clamp(1.875rem, 1.7188rem + 0.5vw, 2rem);
    font-weight: bold;
    color: #E86AA7;
}

.playdayz .title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: .875rem;
}

.playdayz .bg-sky {
    position: relative;
}

.playdayz .bg-sky:nth-child(odd)::after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 0%;
    width: 100%;
    height: 192px;
    background-image: url(../img/svg/shape/sky-shape.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
}

@media (max-width:1200px) and (min-width: 768px) {
    .playdayz .bg-sky:nth-child(odd)::after {
        content: none;
    }

    .playdayz .bg-sky:nth-child(1)::after,
    .playdayz .bg-sky:nth-child(4)::after,
    .playdayz .bg-sky:nth-child(5)::after {
        content: '';
        position: absolute;
        z-index: 1;
        top: 0px;
        left: 0%;
        width: 100%;
        height: 192px;
        background-image: url(../img/svg/shape/sky-shape.svg);
        background-size: 100% auto;
        background-repeat: no-repeat;
    }
}


/* download */
.download-bg {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    background-image: url(../img/svg/shape/bg-purple-pattern.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: clamp(3.75rem, -1.7188rem + 17.5vw, 8.125rem) 0;
}

.download-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/top-pattern-pur.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: -1;
}

.download-bg::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/bottom-pattern-pur.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    z-index: -1;

}

@media (min-width:992px) {
    .download-bg .mobile-img {
        margin-bottom: -250px;
    }
}

/* testimonials */
.testimonials {
    background-color: #e1a3ff33;
    position: relative;
    z-index: 0;
    display: block;
    /* padding: clamp(3.75rem, -3.2813rem + 22.5vw, 9.375rem) 0; */
    padding: clamp(3.75rem, -1.7188rem + 17.5vw, 8.125rem) 0;

}

.faq-section::after,
.testimonials::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/sky-top-pattern.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: -1;

}

.testimonials::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/svg/shape/sky-bottom-pattern.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    z-index: -1;

}

.testimonials .avatars {
    height: 50px !important;
    width: 50px !important;
    border-radius: 50%;
    object-fit: cover;
}

.faq-section {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    background-color: #f6e0e3;
    padding: clamp(3.75rem, -1.7188rem + 17.5vw, 8.125rem) 0 1.875rem 0;
}
.instagram-img .owl-stage-outer{
    padding: 50px 0;
}
.instagram-img .owl-item:nth-child(odd) {
    border-radius: 16px;
    /* border: 1px solid red;    */
    transform: translateY(20px);
}

.instagram-img .box img {
    border-radius: 16px;
}
.footer-text{
    font-size: clamp(1rem, -0.75rem + 4vw, 1.5rem) !important;
}
.footer-img{
    width: clamp(3.125rem, -0.1563rem + 7.5vw, 4.0625rem);
    height: clamp(3.125rem, -0.1563rem + 7.5vw, 4.0625rem);
}