/*==================================================
        SKILLS SECTION - UPDATED PART 1
==================================================*/

.skills-area{

    position:relative;
    width:100%;
    background:#ffffff;
    padding:110px 0;
    overflow:hidden;

}

/*=============================
        CONTAINER
==============================*/

.skills-container{

    max-width:1200px;
    width:100%;
    margin:auto;
    padding:0 15px;

    display:grid;

    grid-template-columns:470px 1fr;

    align-items:center;

    gap:75px;

}

/*=============================
        DOT SHAPE
==============================*/

.shape-dots{

    position:absolute;

    left:40px;

    top:-70px;

    width:360px;

    height:360px;

    opacity:.32;

    z-index:1;

}

/* Animation remove */

.shape-dots{

    animation:dotsFloat 6s ease-in-out infinite;

}

@keyframes dotsFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(8px);

    }

    100%{

        transform:translateY(0px);

    }

}

/*=============================
        LEFT
==============================*/

.skills-left{

    position:relative;

    z-index:5;

}

.section-subtitle{

    display:block;

    color:#b83330;

    font-size:15px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:22px;

    text-transform:uppercase;

}

.skills-left h2{

    font-size:58px;

    line-height:1.15;

    color:#17171d;

    font-weight:800;

    margin-bottom:28px;

}

.skills-left p{

    max-width:500px;

    font-size:16px;

    line-height:2;

    color:#7a7a7a;

}

/*=============================
        RIGHT
==============================*/

.progress-item{

    margin-bottom:38px;

}

.progress-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:12px;

}

.progress-title span{

    font-size:19px;

    font-weight:500;

    color:#222;

}

.counter{

    font-size:18px;

    font-weight:500;

    color:#222;

}

.progress-bar{

    width:100%;

    height:8px;

    background:#efefef;

    overflow:hidden;

    position:relative;

}

.progress-fill{

    width:0;

    height:100%;

    background:#b83330;

    transition:width 1.5s cubic-bezier(.19,1,.22,1);

}

/*==================================================
        SKILLS SECTION
        UPDATED CSS PART - 2
==================================================*/


/*=========================================
        HOVER EFFECT
=========================================*/

.progress-item{

    transition:all .35s ease;

}

.progress-item:hover{

    transform:translateX(8px);

}

.progress-item:hover .progress-title span{

    color:#b83330;

}



/*=========================================
        BAR STYLE
=========================================*/

.progress-bar{

    border-radius:50px;

}

.progress-fill{

    border-radius:50px;

    overflow:hidden;

    position:relative;

}


/*=========================================
        SHINE EFFECT
=========================================*/

.progress-fill::before{

    content:"";

    position:absolute;

    top:0;

    left:-45px;

    width:35px;

    height:100%;

    background:rgba(255,255,255,.45);

    transform:skewX(-25deg);

    animation:shine 2s linear infinite;

}

@keyframes shine{

    from{

        left:-45px;

    }

    to{

        left:105%;

    }

}



/*=========================================
        ANIMATION
=========================================*/

.skills-left{

    opacity:0;

    transform:translateX(-60px);

    transition:1s ease;

}

.skills-right{

    opacity:0;

    transform:translateX(60px);

    transition:1s ease;

}

.skills-left.active{

    opacity:1;

    transform:translateX(0);

}

.skills-right.active{

    opacity:1;

    transform:translateX(0);

}



/*=========================================
        LARGE LAPTOP
=========================================*/

@media (max-width:1400px){

.skills-container{

    max-width:1140px;

}

.skills-left h2{

    font-size:54px;

}

}



/*=========================================
            LAPTOP
=========================================*/

@media (max-width:1200px){

.skills-container{

    max-width:1000px;

    grid-template-columns:430px 1fr;

    gap:60px;

}

.skills-left h2{

    font-size:50px;

}

.skills-left p{

    font-size:15px;

}

.progress-title span{

    font-size:18px;

}

.counter{

    font-size:17px;

}

.shape-dots{

    width:300px;

    height:300px;

}

}



/*=========================================
            TABLET
=========================================*/

@media (max-width:992px){

.skills-area{

    padding:90px 0;

}

.skills-container{

    grid-template-columns:1fr;

    gap:55px;

}

.skills-left{

    max-width:100%;

}

.skills-left h2{

    font-size:44px;

}

.skills-left p{

    max-width:100%;

}

.shape-dots{

    left:-20px;

    top:-70px;

    transform:scale(.75);

}

}



/*=========================================
        LARGE MOBILE
=========================================*/

@media (max-width:768px){

.skills-area{

    padding:80px 0;

}

.skills-container{

    padding:0 20px;

}

.skills-left h2{

    font-size:38px;

    line-height:1.2;

}

.skills-left p{

    font-size:15px;

    line-height:1.9;

}

.progress-item{

    margin-bottom:32px;

}

.progress-title{

    margin-bottom:10px;

}

.progress-title span{

    font-size:17px;

}

.counter{

    font-size:16px;

}

.progress-bar{

    height:7px;

}

.shape-dots{

    left:-60px;

    top:-80px;

    transform:scale(.60);

}

}



/*=========================================
            MOBILE
=========================================*/

@media (max-width:576px){

.skills-area{

    padding:70px 0;

}

.skills-container{

    padding:0 18px;

}

.section-subtitle{

    font-size:14px;

    margin-bottom:16px;

}

.skills-left h2{

    font-size:32px;

    margin-bottom:20px;

}

.skills-left p{

    font-size:14px;

    line-height:1.8;

}

.progress-item{

    margin-bottom:28px;

}

.progress-title span{

    font-size:16px;

}

.counter{

    font-size:15px;

}

.progress-bar{

    height:6px;

}

.shape-dots{

    left:-95px;

    top:-95px;

    transform:scale(.48);

}

}



/*=========================================
        EXTRA SMALL
=========================================*/

@media (max-width:420px){

.skills-area{

    padding:60px 0;

}

.skills-container{

    padding:0 15px;

}

.skills-left h2{

    font-size:28px;

    line-height:1.25;

}

.skills-left p{

    font-size:13px;

}

.progress-title span{

    font-size:15px;

}

.counter{

    font-size:14px;

}

.progress-item{

    margin-bottom:24px;

}

.shape-dots{

    left:-120px;

    top:-110px;

    transform:scale(.40);

}

}



/*=========================================
        PERFORMANCE
=========================================*/

.progress-fill{

    will-change:width;

}

.skills-left,
.skills-right{

    will-change:transform,opacity;

}

.shape-dots{

    will-change:transform;

}



















































/*==================================================
            VIDEO SECTION
            CSS PART - 1
==================================================*/

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

:root{

    --primary:#b83330;
    --white:#ffffff;
    --dark:#111111;
    --overlay:rgba(13,18,24,.62);

}

body{

    font-family:'Poppins',sans-serif;
    overflow-x:hidden;

}

/*=========================================
            VIDEO SECTION
=========================================*/

.video-section{

    position:relative;

    width:100%;

    min-height:720px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    background:url("https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=1920&q=80");

    background-position:center;

    background-size:cover;

    background-repeat:no-repeat;

}

/*=========================================
            OVERLAY
=========================================*/

.video-overlay{

    position:absolute;

    inset:0;

    background:rgba(10,16,24,.62);

}

/*=========================================
            CONTAINER
=========================================*/

.video-container{

    position:relative;

    z-index:5;

    width:100%;

    max-width:1200px;

    padding:0 20px;

    margin:auto;

}

/*=========================================
            CONTENT
=========================================*/

.video-content{

    width:100%;

    text-align:center;

}

/*=========================================
            HEADING
=========================================*/

.video-content h2{

    color:#fff;

    font-size:10px;

    font-weight:400;

    line-height:1.1;

    margin-bottom:20px;

    letter-spacing:-2px;

}

/*=========================================
            DESCRIPTION
=========================================*/

.video-content p{

    max-width:600px;

    margin:auto;

    color:rgba(255,255,255,.92);

    font-size:10px;

    line-height:1.8;

    font-weight:400;

}

/*=========================================
        PLAY WRAPPER
=========================================*/

.video-play-wrapper{

    margin-top:70px;

    display:flex;

    justify-content:center;

    align-items:center;

}

/*=========================================
        BUTTON
=========================================*/

.video-play-btn{

    position:relative;

    width:120px;

    height:120px;

    border:none;

    outline:none;

    cursor:pointer;

    border-radius:50%;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.4s;

}

/*=========================================
        ICON
=========================================*/

.play-icon{

    position:relative;

    z-index:10;

    width:92px;

    height:92px;

    border:5px solid #fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.25);

    backdrop-filter:blur(4px);

}

.play-icon i{

    color:#fff;

    font-size:34px;

    margin-left:6px;

}

/*=========================================
        OUTER RINGS
=========================================*/

.circle-one,
.circle-two,
.circle-three{

    position:absolute;

    inset:0;

    border-radius:50%;

}

/* First Ring */

.circle-one{

    border:2px solid rgba(255,255,255,.65);

}

/* Second Ring */

.circle-two{

    transform:scale(1.25);

    border:2px solid rgba(255,255,255,.22);

}

/* Third Ring */

.circle-three{

    transform:scale(1.55);

    border:2px solid rgba(255,255,255,.12);

}

/*=========================================
        BUTTON HOVER
=========================================*/

.video-play-btn:hover{

    transform:scale(1.05);

}



/*==================================================
        VIDEO SECTION
        CSS PART - 2A
==================================================*/


/*=========================================
        CONTENT ANIMATION
=========================================*/

.video-content h2,
.video-content p,
.video-play-wrapper{

    opacity:0;

    transform:translateY(50px);

    animation:fadeUp .9s forwards;

}

.video-content p{

    animation-delay:.2s;

}

.video-play-wrapper{

    animation-delay:.45s;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*=========================================
        ROTATING RINGS
=========================================*/

.circle-one{

    animation:rotateRing 14s linear infinite;

}

.circle-two{

    animation:rotateRingReverse 18s linear infinite;

}

.circle-three{

    animation:rotateRing 22s linear infinite;

}

@keyframes rotateRing{

    from{

        transform:rotate(0deg) scale(1);

    }

    to{

        transform:rotate(360deg) scale(1);

    }

}

@keyframes rotateRingReverse{

    from{

        transform:rotate(360deg) scale(1.25);

    }

    to{

        transform:rotate(0deg) scale(1.25);

    }

}


/*=========================================
        RIPPLE EFFECT
=========================================*/

.video-play-btn::before,
.video-play-btn::after{

    content:"";

    position:absolute;

    inset:-18px;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.45);

    animation:ripple 2.4s linear infinite;

}

.video-play-btn::after{

    animation-delay:1.2s;

}

@keyframes ripple{

    0%{

        transform:scale(.8);

        opacity:1;

    }

    100%{

        transform:scale(1.7);

        opacity:0;

    }

}


/*=========================================
        BUTTON PULSE
=========================================*/

.video-play-btn{

    animation:pulse 3s ease-in-out infinite;

}

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(1);

    }

}


/*=========================================
        HOVER
=========================================*/

.video-play-btn:hover{

    transform:scale(1.08);

}

.video-play-btn:hover .play-icon{

    background:rgba(255,255,255,.12);

}


/*=========================================
        POPUP
=========================================*/

.video-popup{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(0,0,0,.82);

    backdrop-filter:blur(6px);

    opacity:0;

    visibility:hidden;

    transition:.45s;

    z-index:9999;

}

.video-popup.active{

    opacity:1;

    visibility:visible;

}


/*=========================================
        POPUP BOX
=========================================*/

.popup-box{

    width:min(95%,1200px);

    transform:scale(.85);

    transition:.45s;

    position:relative;

}

.video-popup.active .popup-box{

    transform:scale(1);

}


/*=========================================
        IFRAME
=========================================*/

.video-frame{

    position:relative;

    width:100%;

    padding-top:56.25%;

    background:#000;

}

.video-frame iframe{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:none;

}


/*=========================================
        CLOSE BUTTON
=========================================*/

.popup-close{

    position:absolute;

    top:-50px;

    right:0;

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#fff;

    color:#111;

    font-size:18px;

    transition:.35s;

}

.popup-close:hover{

    background:#b83330;

    color:#fff;

    transform:rotate(90deg);

}


/*==================================================
        VIDEO SECTION
        CSS PART - 2B (FINAL)
==================================================*/


/*=========================================
        LARGE DESKTOP
=========================================*/

@media (max-width:1400px){

.video-content h2{

    font-size:64px;

}

.video-content p{

    font-size:22px;

}

}


/*=========================================
        LAPTOP
=========================================*/

@media (max-width:1200px){

.video-section{

    min-height:650px;

}

.video-content h2{

    font-size:56px;

}

.video-content p{

    max-width:760px;

    font-size:20px;

}

.video-play-btn{

    width:105px;

    height:105px;

}

.play-icon{

    width:80px;

    height:80px;

}

.play-icon i{

    font-size:28px;

}

}


/*=========================================
        TABLET
=========================================*/

@media (max-width:992px){

.video-section{

    min-height:600px;

    padding:90px 0;

}

.video-content h2{

    font-size:46px;

    line-height:1.2;

}

.video-content p{

    font-size:18px;

    line-height:1.8;

}

.video-play-wrapper{

    margin-top:55px;

}

.popup-close{

    top:-45px;

}

}


/*=========================================
        LARGE MOBILE
=========================================*/

@media (max-width:768px){

.video-section{

    min-height:520px;

    padding:80px 0;

}

.video-content h2{

    font-size:36px;

    line-height:1.25;

    margin-bottom:25px;

}

.video-content p{

    font-size:16px;

    line-height:1.8;

}

.video-play-wrapper{

    margin-top:40px;

}

.video-play-btn{

    width:90px;

    height:90px;

}

.play-icon{

    width:70px;

    height:70px;

}

.play-icon i{

    font-size:22px;

}

.circle-two{

    transform:scale(1.18);

}

.circle-three{

    transform:scale(1.36);

}

.popup-box{

    width:94%;

}

.popup-close{

    top:-40px;

    width:38px;

    height:38px;

}

}


/*=========================================
        MOBILE
=========================================*/

@media (max-width:576px){

.video-section{

    min-height:460px;

    padding:70px 0;

}

.video-container{

    padding:0 18px;

}

.video-content h2{

    font-size:30px;

}

.video-content p{

    font-size:15px;

}

.video-play-btn{

    width:78px;

    height:78px;

}

.play-icon{

    width:60px;

    height:60px;

    border-width:3px;

}

.play-icon i{

    font-size:18px;

}

.popup-close{

    right:5px;

    top:-35px;

}

}


/*=========================================
        EXTRA SMALL
=========================================*/

@media (max-width:420px){

.video-section{

    min-height:420px;

}

.video-content h2{

    font-size:25px;

}

.video-content p{

    font-size:14px;

    line-height:1.7;

}

.video-play-btn{

    width:70px;

    height:70px;

}

.play-icon{

    width:54px;

    height:54px;

}

.play-icon i{

    font-size:16px;

}

}


/*=========================================
        PERFORMANCE
=========================================*/

.video-play-btn,
.circle-one,
.circle-two,
.circle-three{

    will-change:transform;

}

.popup-box{

    will-change:transform,opacity;

}

.video-content{

    will-change:transform;

}


/*=========================================
        ACCESSIBILITY
=========================================*/

.video-play-btn:focus,
.popup-close:focus{

    outline:2px solid #ffffff;

    outline-offset:5px;

}

