/* General Reset */
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Inter", sans-serif;
    color: #000;
    line-height: 1.6;
    overflow-x: hidden;
}


.horizontal-sliders {
    display: flex;
    align-items: center;
    flex-wrap: no-wrap;
    width: 300%;
    overflow-x: hidden;
}

/* 
--------------------
|  Other Stylings  |
--------------------
*/

.gradient-text {
    background: linear-gradient(to right, #c86dd7, #3023ae, #f78c1f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat-box {
    position: absolute;
    background: #fff;
    border-radius: 12px;
    padding: 12px 18px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    font-size: 0.9rem;
    line-height: 1.2;
}

.stat-box strong {
    color: #f78c1f;
    font-size: 1.8rem;
}

.list-unstyled li {
    :is(a) {
        color: #fff;
        font-size: 1rem;
        text-decoration: none;
        transition: all 0.3s ease;
    }
}

.splide {
    margin: 25px 0px;
}

@property --＠color-1 {
    syntax: "<color>";
    inherits: false;
    initial-value: hsl(292, 57%, 64%);
}

@property --＠color-2 {
    syntax: "<color>";
    inherits: false;
    initial-value: hsl(246, 67%, 41%);
}

/* keyframes that change the color variable */
@keyframes gradient-change {
    to {
        --＠color-1: hsl(246, 67%, 41%);
        --＠color-2: hsl(30, 93%, 55%);
    }
}

.gradient-text {
    animation: gradient-change 2s linear infinite alternate;
    background: linear-gradient(to right in oklab, var(--＠color-1) 0%, var(--＠color-2) 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;
    color: transparent;
}

.brand-containers {
    height: 100px;
    width: 270px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    :is(img) {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        /* maintains aspect ratio, fits inside */
    }
}

.tech-partners {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease-in;

    :is(img) {
        height: 40px;
    }
}

.cust-drag-container {
    height: 630px;
    /* background-image: url('https://ewardsdata.s3.ap-south-1.amazonaws.com/ewards_website/website+homepage-final-06.webp'); */
    background-position: 50% 0px;
    background-size: 75%;
    background-repeat: no-repeat;
    position: relative;

    .drag-main {
        height: 50%;
    }

    .rectangle {
        position: absolute;
        padding: 10px 20px;
        width: max-content;
        background-color: white;
        border-radius: 17px;
        -webkit-box-shadow: 0px 0px 40px -3px #00000059;
        -moz-box-shadow: 0px 0px 40px -3px #00000059;
        box-shadow: 0px 0px 40px -3px #00000059;

        .content-p p {
            font-size: clamp(0.1rem, 7vw, 0.9rem);
            font-weight: 600;
            line-height: 1.1;
        }

        .numeric {
            font-size: clamp(1rem, 7vw, 3rem);
            font-weight: 900;
            color: #f78c1f;
        }

        .rec-icon {
            :is(img) {
                height: 40px;
            }
        }
    }

    #rect-1 {
        top: 0px;
        left: 0pc;
    }

    #rect-2 {
        bottom: 5pc;
        right: 2pc;
    }
}

/* 
-------------------
| Common Stylings |
-------------------
*/

.common-header {
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
}

.common-header-2 {
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 2.5rem);
}

/*
-----------------------------
|  Sections Styling Starts  |
-----------------------------
*/
header {
    position: sticky;
    top: 0px;
    z-index: 999;
    background: #ffffff;
    /* backdrop-filter: blur(5.5px); */
    /* -webkit-backdrop-filter: blur(5.5px); */

    .nav-link {
        text-decoration: none;
        font-weight: 500 !important;
        font-size: 20px;
        color: #6d3cb9 !important;
        transition: 0.3s all ease;
    }

    .nav-link:hover {
        color: #f78c1f !important;
    }

    .navbar-brand {
        :is(img) {
            height: 40px;
        }
    }

    .navbar {
        .container-fluid {
            padding: 0px 7%;
        }
    }

    .navbar-toggler:focus {
        outline: none;
        box-shadow: none;
    }
}

#hero {
    background: linear-gradient(to bottom, #fff, #e6d9fb, #fff);
    position: relative;


    .hero-main {
        padding: 0px 5%;
        min-height: 90vh;
    }

    .hero-content h1 {
        font-size: clamp(2rem, 4vw, 4.1rem);
        font-weight: bold;
    }

    .hero-content p {
        font-size: clamp(1.2rem, 4vw, 1.5rem);
    }

    .highlight-orange {
        color: #f78c1f;
        font-weight: bold;
    }

    .hero-image {
        position: relative;
        text-align: center;
    }

    .hero-image img {
        max-width: 90%;
        height: auto;
    }
}

#all-brands {
    padding: 0px 0px;

    .brand-header {
        font-size: clamp(1.5rem, 4vw, 2.5rem);
        font-weight: 700;
    }
}

#insight {
    padding: 0px 0px;

    .insight-header {
        font-size: clamp(1.5rem, 4vw, 2.5rem);
        font-weight: 700;
    }
}

#engagement {
    padding: 60px 5%;
    text-align: center;
    background: linear-gradient(to bottom, #fff, #e6d9fb, #fff);

    .yellow {
        color: orange;
    }


    .stats-grid {
        gap: 15px;
        margin: 0 auto;
    }

    .stat {
        font-size: 1.2rem;
        font-weight: 500;
    }

    .stat .number,
    .stat .suffix {
        font-size: clamp(1.5rem, 4vw, 4rem);
        color: #5d3eff;
        margin-bottom: 5px;
        font-weight: 900;
        text-align: center;
    }

    .engagement-text {
        font-size: clamp(1rem, 4vw, 1.5rem);
        text-align: left;
    }

    .timeline {
        position: relative;
        margin-left: 30px;
        padding-left: 30px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .timeline-item {
        position: relative;
        text-align: start;
    }

    .timeline-item::before {
        content: "";
        position: absolute;
        left: -42px;
        width: 30px;
        height: 30px;
        background: #6c4acb;
        border: 5px solid #C1BAF6;
        border-radius: 50%;
        z-index: 1;
    }

    .timeline-item::after {
        content: "";
        border: 1px solid #6c4acb;
        position: absolute;
        height: calc(100% - 10px);
        top: 35px;
        left: -29px;
        z-index: 0;
    }

    .timeline-item:last-child::after {
        display: none;
    }

    .timeline-title {
        font-weight: 900;
        font-size: clamp(1.2rem, 4vw, 1.5rem);
        padding: 5px;
        /* margin-bottom: 0.3rem; */
    }

    .timeline-desc {
        color: #555;
        padding: 5px 10px;
        font-size: clamp(0.5rem, 4vw, 1rem);
    }
}

#brands {

    padding: 60px 0px;

    .header-brand-support {
        font-size: clamp(1.5rem, 4vw, 2.5rem);
        font-weight: 700;
    }

    .wrap {
        /* margin: 0 auto; */
        width: 100%;
    }

    .wrap--text {
        margin-bottom: 50px;
        padding: 0 50px;
        text-align: center;
    }

    .wrap--logobar {
        height: 200px;
        overflow: hidden;
        position: relative;
        display: flex;
        align-items: center;
    }

    .list {
        list-style: none;
        display: flex;
        margin: 0;
        padding: 0;
        position: absolute;
        width: 100%;
        margin-left: 0;
    }

    .list__item {
        flex-grow: 0;
        flex-shrink: 0;
        padding: 20px;
        text-align: center;
        width: 20%;
    }
}

#testimonial {
    /* min-height: 120vh; */
    position: relative;

    .testimonial-header {
        font-size: clamp(1.8rem, 4vw, 3rem);
        font-weight: 600;
    }

    #splide-testimony {
        position: relative;
        z-index: 10;
    }

    .testimonial-bg {
        position: absolute;
        /* position: relative; */
        top: 0;
        transform: translateY(20%);
    }

    .cust-reviews {
        padding: 60px;
        border-radius: 20px;
        background-color: #ebebeb;
    }

    .cust-reviews .bi-quote {
        font-size: clamp(2rem, 4vw, 3.5rem);
    }

    .cust-reviews .testimony {
        font-size: clamp(0.7rem, 4vw, 1.6rem);
        margin-bottom: 0px;
        font-weight: 500;
        opacity: 80%;

    }

    .cust-reviews .testimony-author {
        font-size: clamp(1rem, 4vw, 1.5rem);
        font-weight: 700;
    }

    .cust-reviews .testimony-author-desc {
        font-size: clamp(0.8rem, 4vw, 1.3rem);
        font-weight: 400;
        text-transform: capitalize;
    }

    .brand-image {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        box-shadow: 0px 5px 27px -6px #00000021;
        position: relative;
        border: 1px solid;
    }

    .testimonial-logo {
        :is(img) {
            height: clamp(100px, 80%, 300px);
        }
    }

    .stage {
        width: 300px;
        height: 300px;
        display: inline-block;
        margin: 20px;
        -webkit-perspective: 1200px;
        -moz-perspective: 1200px;
        -ms-perspective: 1200px;
        -o-perspective: 1200px;
        perspective: 1200px;
        -webkit-perspective-origin: 50% 50%;
        -moz-perspective-origin: 50% 50%;
        -ms-perspective-origin: 50% 50%;
        -o-perspective-origin: 50% 50%;
        perspective-origin: 50% 50%;
    }
}

.offer-cta {
    font-size: clamp(1rem, 4vw, 1.4rem);
    font-weight: 700;
    text-decoration: none;
    color: #3023ae;
}

.offer-cta.contrast:hover {
    color: #fff;
    transition: all 0.3s ease-in-out;
}

#offering {
    .img-card{
        background: #e1e7ed;
        border-radius: 20px;
    }
}

#offering-mobile-view {
    display: none;
}

footer {
    min-height: 58vh;
    padding: 40px 7%;

    li {
        font-size: clamp(0.9rem, 4vw, 1.5rem);
    }
}

/*
-----------------------------
|  Sections Styling Ends  |
-----------------------------
*/

.mega-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;

    position: absolute;
    width: 450px;
    right: 0px;
    border-radius: 10px;
    background: #361963;
    padding: 10px;
    z-index: 1000;

    box-shadow: -15px 15px 7px -7px rgba(0, 0, 0, 0.3);
}

.mega-menu.v-2{
    width: max-content;
    left: -20px;
}

.product-drop:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.product-drop:hover .mega-menu .menu-list-item {
    opacity: 1;
    visibility: visible;
}

.mega-menu .menu-creative {
    height: 280px;
    border-radius: 7px;
}

.mega-menu .menu-content {
    display: flex;
    flex-direction: column;
    gap: 7px;

    :is(a) {
        text-decoration: none;
    }
}

.mega-menu .menu-list-item {
    border-radius: 7px;
    padding: 10px;
    /* flex: 1; */
    color: #fff;
    transition: all 0.2s ease-in-out;
    visibility: hidden;
    opacity: 0;

    :is(h1) {
        font-size: clamp(1rem, 4vw, 1.2rem);
        font-weight: 600;
    }

    :is(p) {
        color: #ffffffb5;
    }
}

.mega-menu.v-2 .menu-list-item{
    padding: 7px 20px;
}

.dropdown-item {
    :is(h1) {
        font-size: clamp(1rem, 4vw, 1.2rem);
        font-weight: 600;
        color: #6d3cb9;
    }
}

.mega-menu .menu-list-item:hover {
    background-color: #fff;
    color: #000;

    :is(p) {
        color: #000;
    }
}

.dropdown-menu.show {
    display: none !important;
}




/*
----------------------- 
    Hover Effect - 15
-----------------------
*/

.SMN_effect-15 a:hover {
    color: #b685ff;
}

.SMN_effect-15 a:before,
.SMN_effect-15 a:after {
    display: inline-block;
    opacity: 0;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
    -moz-transition: -moz-transform 0.3s, opacity 0.2s;
    transition: transform 0.3s, opacity 0.2s;
}

.SMN_effect-15 a:before {
    margin-right: 7px;
    content: '[';
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    transform: translateX(20px);
}

.SMN_effect-15 a:after {
    margin-left: 7px;
    content: ']';
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    transform: translateX(-20px);
}

.SMN_effect-15 a:hover:before,
.SMN_effect-15 a:hover:after,
.SMN_effect-15 a:focus:before,
.SMN_effect-15 a:focus:after {
    opacity: 1;
    -webkit-transform: translateX(0px);
    -moz-transform: translateX(0px);
    transform: translateX(0px);
    color: #6c4acb;
}


/*
----------------------- 
    Hover Effect - 39
-----------------------
*/

.SMN_effect-39 a:before,
.SMN_effect-39 a:after {
    content: '';
    position: absolute;
    width: 5px;
    border-radius: 50%;
    background: #706fd3;
    top: 17px;
    transition: height 0.3s 0.3s ease, border-radius 0.3s 0.3s ease, top 0.3s 0.3s ease, width 0.3s ease;
}

.SMN_effect-39 a:before {
    height: 5px;
    left: 0;
}

.SMN_effect-39 a:after {
    height: 0;
    right: 0;
}

.SMN_effect-39 a:hover:before,
.SMN_effect-39 a:hover:after {
    top: 10%;
    width: 55%;
    height: 80%;
    z-index: -1;
    border-radius: 5px;
    transition: height 0.3s ease, border-radius 0.3s ease, top 0.3s ease, width 0.3s 0.3s ease;
}

.SMN_effect-39 a {
    z-index: 1;
    display: inline-block;
    padding: 10px 15px;
    position: relative;
    transition: all 0.3s ease;
}

.SMN_effect-39 a:hover {
    transition: all 0.3s 0.3s ease;
    text-decoration: none;
    color: white;
}


/* 

*/
.butn:link.navbar{
    width: 180px;
}


.butn:link,
.butn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1rem, 4vw, 1.2rem);
    text-transform: uppercase;
    text-decoration: none;
    background-color: #5e16bd;
    background-image: linear-gradient(90deg, #501aa8, #870de8);
    padding: 10px;
    width: 200px;
    border-radius: 10px;
    border: none;
    color: #fff;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.butn::before {
    background: #fff;
    content: "";
    height: 40px;
    opacity: 0;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    width: 50px;
    transition: all 2000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.butn::after {
    background: #fff;
    content: "";
    height: 20rem;
    opacity: 0;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: all 2000ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 8rem;
}

.butn__new::before {
    left: -50%;
}

.butn__new::after {
    left: -100%;
}

.butn:hover,
.butn:active {
    transform: translateY(-3px);
    color: #fff;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
}

.butn__new:hover::before {
    left: 120%;
    opacity: 0.5s;
}

.butn__new:hover::after {
    left: 200%;
    opacity: 0.6;
}

.butn span {
    z-index: 20;
}

#world-map {
    /* border: 1px solid red; */
    width: 100%;
    height: 100vh;
}

#integration-partners {
    :is(h2) {
        font-weight: 600;
        font-size: clamp(1.5rem, 4vw, 2rem);
    }
}

.partner-card {
    position: relative;
    overflow: hidden;

    min-height: 350px;

    .bottom-content {
        font-size: clamp(0.8rem, 4vw, 1.05rem);
        font-weight: 500;
    }
}

.card-1 {
    min-height: 430px;
}

.card-2 {
    min-height: 460px;
}

/* 
-------------------------
|   Blur-reveal Effect  |
-------------------------
*/

.blur {
    animation: blurAnimation both;
    animation-timeline: view();
}

@keyframes blurAnimation {
    0% {
        filter: blur(10px);
    }

    20%,
    85% {
        filter: blur(0px);
    }

    100% {
        filter: blur(20px);
    }
}

/*  */

.cards {
    position: relative;
    height: 75vh;
}

.custom-card {
    height:clamp(45vh,100%, 75vh);
    background: -webkit-linear-gradient(130deg, #3f00ff 0%, #af87ff 50%, #441963 100%);
    background: linear-gradient(-40deg, #3f00ff 0%, #af87ff 50%, #441963 100%);
    color: #fff;
    border-radius: 30px;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
}

.opacity {
    -moz-transition: 0.4s ease;
    -ms-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transition: 0.4s ease;
    opacity: 0.6;
}

.scale {
    moz-transition: 0.4s ease;
    -ms-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transition: 0.4s ease;
    width: 95%;
}


.loader {
    height: 150px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-radius: 8px;

    :is(h2) {
        font-weight: 700;
        font-size: clamp(2rem, 4vw, 4rem);
    }
}

.words {
    overflow: hidden;
    position: relative;
}

.words::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(var(--bg-color) 10%,
            transparent 30%,
            transparent 70%,
            var(--bg-color) 90%);
    z-index: 20;
}

.word {
    display: block;
    height: 100%;
    line-height: 20px;
    color: #501aa8;
    animation: spin_4991 8s infinite;
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    padding: 20px 0px;
}

@keyframes spin_4991 {
    10% {
        -webkit-transform: translateY(-102%);
        transform: translateY(-102%);
    }

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

    35% {
        -webkit-transform: translateY(-202%);
        transform: translateY(-202%);
    }

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

    60% {
        -webkit-transform: translateY(-302%);
        transform: translateY(-302%);
    }

    75% {
        -webkit-transform: translateY(-300%);
        transform: translateY(-300%);
    }

    85% {
        -webkit-transform: translateY(-402%);
        transform: translateY(-402%);
    }

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