/* =========================================
   WHAT OUR STUDENTS SAY
========================================= */

.testimonials{
    width:100%;
    padding:42px 0 55px;
    background: radial-gradient(ellipse at 12% 75%, rgba(174, 120, 255, .16), transparent 38%), radial-gradient(ellipse at 88% 45%, rgba(255, 255, 255, .75), transparent 42%), linear-gradient(
77deg, #ebe3fe 0%, #f0ebff 100%)
}

.testimonials-container{
    width:92%;
    max-width:1280px;
    margin:0 auto;
}


/* =========================================
   HEADER
========================================= */

.testimonials-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
}

.testimonials-header h2{
    margin:0;
    font-size:32px;
    line-height:1.2;
    font-weight:700;
    color:#111b3a;
}
.testimonials-header h2 span{
	color:#5f45ff !important;
}
.testimonials-header p{
    margin:6px 0 0;
    font-size:15px;
    line-height:1.5;
    color:#71809a;
}

/* =========================================
   ARROWS
========================================= */

.testimonial-arrows{
    display:flex;
    gap:8px;
}

.testimonial-arrows button{
    width:32px;
    height:32px;

    border:1px solid #e1e5ef;
    background:#ffffff;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#687895;
    font-size:12px;

    cursor:pointer;
    transition:.25s ease;
}

.testimonial-arrows button:hover{
    background:#6246ea;
    color:#ffffff;
    border-color:#6246ea;
}


/* =========================================
   TESTIMONIAL GRID
========================================= */

.testimonials-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}


/* =========================================
   TESTIMONIAL CARD
========================================= */

.testimonial-card{
    position:relative;

    background:#ffffff;

    border:1px solid #e3e7f0;
    border-radius:10px;

    padding:18px 18px 16px;

    min-height:150px;

    box-shadow:0 3px 12px rgba(25,35,70,.04);

    transition:.25s ease;
}

.testimonial-card:hover{
    transform:translateY(-3px);

    box-shadow:0 10px 28px rgba(35,40,80,.09);
}


/* =========================================
   QUOTE ICON
========================================= */

.quote-icon{
    width:38px;
    height:38px;

    border-radius:50%;

    background:#f0f4ff;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#667ff0;

    font-size:16px;

    float:left;

    margin-right:14px;
    margin-bottom:6px;
}


/* =========================================
   TESTIMONIAL TEXT
========================================= */

.testimonial-text{
    color:#3f4b63;

    font-size:13px;
    line-height:1.65;

    font-weight:400;

    min-height:52px;
}


/* =========================================
   BOTTOM
========================================= */

.testimonial-bottom{
    clear:both;

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-top:10px;
}

.student-info{
    display:flex;
    align-items:center;
    gap:10px;
}


/* =========================================
   STUDENT PHOTO
========================================= */

.student-photo{
    width:38px;
    height:38px;

    border-radius:50%;

    overflow:hidden;

    flex-shrink:0;

    background:#eef1f7;
}

.student-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}


/* =========================================
   STUDENT NAME
========================================= */

.student-info h4{
    margin:0 0 3px;

    font-size:13px;
    line-height:1.25;

    font-weight:700;

    color:#1c2944;
}

.student-info span{
    font-size:11px;
    line-height:1.3;

    color:#71809a;
}


/* =========================================
   RATING
========================================= */

.student-rating{
    font-size:13px;

    letter-spacing:1px;

    color:#ffad00;
}

.student-rating b{
    color:#dfe2e8;
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .testimonials{
        padding:32px 0 40px;
    }

    .testimonials-container{
        width:92%;
    }

    .testimonials-header{
        margin-bottom:15px;
    }

    .testimonials-header h2{
        font-size:26px;
    }

    .testimonials-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .testimonial-card{
        min-height:auto;
        padding:17px;
    }

    .testimonial-text{
        font-size:13px;
        min-height:auto;
    }

}

/* =========================================
   TESTIMONIAL SLIDER
========================================= */

.testimonials-slider{
    width:100%;
    overflow:hidden;
}

.testimonials-grid{
    display:flex;
    gap:24px;
    transition:transform .5s ease;
    will-change:transform;
}

.testimonial-card{
    flex:0 0 calc((100% - 48px) / 3);
    min-width:0;
}


/* =========================================
   TESTIMONIAL ARROWS
========================================= */

.testimonial-arrows{
    display:flex;
    gap:10px;
}

.testimonial-arrows button{
    width:38px;
    height:38px;
    border:1px solid #e3e5ef;
    background:#ffffff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#6246ff;
    transition:all .25s ease;
}

.testimonial-arrows button:hover{
    background:#6246ff;
    color:#ffffff;
    border-color:#6246ff;
}

.testimonial-arrows button:disabled{
    opacity:.4;
    cursor:not-allowed;
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:900px){

    .testimonial-card{
        flex:0 0 calc((100% - 24px) / 2);
    }

}


@media(max-width:600px){

    .testimonials-grid{
        gap:16px;
    }

    .testimonial-card{
        flex:0 0 100%;
    }

    .testimonial-arrows button{
        width:36px;
        height:36px;
    }

}

/* =========================================
   VIDEO TESTIMONIALS
========================================= */

.video-testimonials{
    padding: 55px 0 25px !important;
    
}

.video-testimonials-container{
    width:90%;
    max-width:1400px;
    margin:0 auto;
}


/* HEADER */

.video-testimonials-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:25px;
}

.video-testimonials-header h2{
    margin:0 0 7px;
    font-size:32px;
    line-height:1.2;
    font-weight:800;
    color:#101a3a;
}

.video-testimonials-header p{
    margin:0;
    font-size:17px;
    color:#68728b;
}

.video-view-all{
    display:flex;
    align-items:center;
    gap:8px;

    color:#6246ff;
    font-size:16px;
    font-weight:700;

    text-decoration:none;
}

.video-view-all i{
    font-size:13px;
}


/* SLIDER */

.video-testimonials-slider{
    position:relative;
    overflow:hidden;
}

.video-testimonials-track{
    display:flex;
    gap:22px;

    transition:transform .45s ease;
}


/* CARD */

.video-testimonial-card{
    flex:0 0 calc((100% - 66px) / 4);

    background:#ffffff;

    border:1px solid #e7e9f2;
    border-radius:14px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(35,35,90,.07);
}


/* THUMB */

.video-testimonial-thumb{
    position:relative;
    height:190px;

    background:#f0eff8;
    overflow:hidden;
}

.video-testimonial-thumb img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}


/* PLAY */

.video-play-btn{
    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    width:58px;
    height:58px;

    border:none;
    border-radius:50%;

    background:#6246ff;
    color:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    box-shadow:0 8px 25px rgba(98,70,255,.35);

    font-size:19px;

    transition:.25s ease;
}

.video-play-btn:hover{
    transform:translate(-50%,-50%) scale(1.08);
}


/* CONTENT */

.video-testimonial-content{
    padding:16px 18px 18px;
}

.video-testimonial-content h4{
    margin:0 0 5px;

    font-size:18px;
    font-weight:750;

    color:#101a3a;
}

.video-testimonial-content span{
    font-size:14px;
    color:#71809b;
}


/* ARROWS */

.video-testimonial-prev,
.video-testimonial-next{
    position:absolute;

    top:42%;

    transform:translateY(-50%);

    width:42px;
    height:42px;

    border-radius:50%;

    border:1px solid #e4e5ef;

    background:#ffffff;
    color:#6246ff;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    z-index:5;

    box-shadow:0 6px 20px rgba(30,30,80,.12);

    transition:.25s ease;
}

.video-testimonial-prev{
    left:8px;
}

.video-testimonial-next{
    right:8px;
}

.video-testimonial-prev:hover,
.video-testimonial-next:hover{
    background:#6246ff;
    color:#ffffff;
    border-color:#6246ff;
}


/* MOBILE */

@media(max-width:1100px){

    .video-testimonial-card{
        flex:0 0 calc((100% - 44px) / 3);
    }

}

@media(max-width:768px){

    .video-testimonials{
        padding:40px 0 50px;
    }

    .video-testimonials-container{
        width:92%;
    }

    .video-testimonials-header h2{
        font-size:27px;
    }

    .video-testimonials-header p{
        font-size:15px;
    }

    .video-testimonial-card{
        flex:0 0 calc((100% - 22px) / 2);
    }

    .video-testimonial-thumb{
        height:175px;
    }

}

@media(max-width:520px){

    .video-testimonials-header{
        align-items:center;
    }

    .video-testimonials-header h2{
        font-size:24px;
    }

    .video-view-all{
        font-size:14px;
    }

    .video-testimonial-card{
        flex:0 0 100%;
    }

    .video-testimonial-thumb{
        height:200px;
    }

}

/* ===============================
   VIDEO TESTIMONIAL MODAL
================================ */

.video-testimonial-modal{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    background:rgba(10,10,30,.82);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    transition:all .3s ease;
    z-index:99999;
}

.video-testimonial-modal.active{
    opacity:1;
    visibility:visible;
}

.video-modal-box{
    position:relative;
    width:min(900px,100%);
    background:#000;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 25px 80px rgba(0,0,0,.35);
}

.video-modal-content{
    width:100%;
    aspect-ratio:16 / 9;
    background:#000;
}

.video-modal-content iframe,
.video-modal-content video{
    width:100%;
    height:100%;
    display:block;
    border:0;
    object-fit:contain;
}

.video-modal-close{
    position:absolute;
    top:12px;
    right:12px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#ffffff;
    color:#222;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:10;
    font-size:16px;
    box-shadow:0 5px 20px rgba(0,0,0,.25);
}

.video-modal-close:hover{
    transform:scale(1.08);
}

body.video-modal-open{
    overflow:hidden;
}

@media(max-width:600px){

    .video-testimonial-modal{
        padding:12px;
    }

    .video-modal-box{
        border-radius:10px;
    }

    .video-modal-close{
        width:34px;
        height:34px;
        top:8px;
        right:8px;
        font-size:14px;
    }

}