/*==============================================================
    SpyX Videos
==============================================================*/

.spyx-videos-page{
    background:#000;
    color:#fff;
    overflow:hidden;
}

/*==============================================================
    Shared
==============================================================*/

.spyx-video-container{
    width:min(1320px, calc(100% - 40px));
    margin:0 auto;
}

/*==============================================================
    Hero
==============================================================*/

.spyx-video-hero{
    position:relative;
        padding-bottom: 50px;

    display:flex;
    align-items:center;
    overflow:hidden;
    background:#000;
}

.spyx-video-hero-bg{
    position:absolute;
    inset:0;
    z-index:1;
}

.spyx-video-hero-bg img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    transform:scale(1.02);
}

.spyx-video-hero-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.45) 0%,
            rgba(0,0,0,.15) 40%,
            rgba(0,0,0,.15) 60%,
            rgba(0,0,0,.45) 100%
        );
}

.spyx-video-hero .spyx-video-container{
    position:relative;
    z-index:5;
}

.spyx-video-hero-content{
    width:520px;
    margin:0 auto;
    text-align:center;
    padding-top:60px;
}

/*==============================================================
    Hero Typography
==============================================================*/

.spyx-video-title{
    margin:0;
    font-size:70px;
    font-family:'Oswald',sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#fff;
}

.spyx-video-title span{
    display:block;
    color:#d71920;
}

.spyx-video-divider{
    margin:24px 0;
    border-top:2px solid #d71920;
    position:relative;
}

.spyx-video-divider:before{
    content:"";
    position:absolute;
    left:50%;
    top:-8px;
    width:18px;
    height:18px;
    border:2px solid #d71920;
    border-radius:50%;
    transform:translateX(-50%);
    background:#000;
}

.spyx-video-description{
    margin:0 0 34px;
    font-size:17px;
    line-height:1.7;
    color:#ececec;
}

.spyx-video-btn-wrap{
    display:flex;
    justify-content:center;
}

.spyx-video-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    width:300px;
    height:60px;
    border:2px solid #d71920;
    border-radius:10px;
    text-decoration:none;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.8px;
    transition:.3s;
}

.spyx-video-btn:hover{
    background:#d71920;
    color:#fff;
}

.spyx-video-btn i{
    color:#d71920;
    font-size:24px;
    transition:.3s;
}

.spyx-video-btn:hover i{
    color:#fff;
}

/*==============================================================
    Videos Section
==============================================================*/

.spyx-video-section{
    padding:90px 0 110px;
    background:#000;
}

.spyx-video-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
}

.spyx-video-card{
    cursor:pointer;
    background:#111;
    border:1px solid rgba(255,255,255,.12);
    transition:.35s;
    overflow:hidden;
}

.spyx-video-card:hover{
    transform:translateY(-8px);
        border-color:#d71920;
        border-radius: 10px;
}
.spyx-video-content{
    background:#111;
    padding:22px 18px 20px;
    text-align:center;
}

.spyx-video-card-title{
    margin:0;
    color:#fff;
    font-family:'Oswald',sans-serif;
    font-size:20px;
    line-height:1.4;
    text-transform:uppercase;
    min-height:58px;
}


.spyx-video-thumb{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:#111;
}

.spyx-video-thumb img{
    width:100%;
    display:block;
    aspect-ratio:16/9;
    object-fit:cover;
    transition:.45s;
}

.spyx-video-card:hover .spyx-video-thumb{
    border-color:#d71920;
    box-shadow:0 18px 45px rgba(215,25,32,.22);
}

.spyx-video-card:hover img{
    transform:scale(1.08);
}

/*==============================================================
    Overlay
==============================================================*/

.spyx-video-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.20);
    transition:.3s;
}

.spyx-video-card:hover .spyx-video-overlay{
    background:rgba(0,0,0,.35);
}

/*==============================================================
    Play Button
==============================================================*/

.spyx-video-play{
    width:72px;
    height:72px;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    box-shadow:0 0 35px rgba(215,25,32,.45);
    transition:.35s;
}

.spyx-video-card:hover .spyx-video-play{
    transform:scale(1.12);
}

/*==============================================================
    Duration
==============================================================*/

.spyx-video-duration{
    position:absolute;
    right:15px;
    bottom:15px;
    background:rgba(0,0,0,.75);
    color:#fff;
    padding:6px 10px;
    border-radius:6px;
    font-size:13px;
    font-weight:600;
}

/*==============================================================
    Title
==============================================================*/

.spyx-video-card-title {
    margin: 0px 10px 0;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 19px;
    text-transform: uppercase;
    color: #fff;
    transition: .3s;
}

.spyx-video-card:hover .spyx-video-card-title{
    color:#d71920;
}

/*==============================================================
    Pagination
==============================================================*/

.spyx-video-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:70px;
    gap:10px;
}

.spyx-video-pagination .page-numbers{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    color:#fff;
    text-decoration:none;
    transition:.3s;
    font-weight:600;
}

.spyx-video-pagination .page-numbers:hover,
.spyx-video-pagination .current{
    background:#d71920;
    border-color:#d71920;
    color:#fff;
}

/*==============================================================
    Video Modal
==============================================================*/

.spyx-video-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
    background:rgba(0,0,0,.88);
    opacity:0;
    visibility:hidden;
    transition:.35s;
    z-index:999999;
}

.spyx-video-modal.active{
    opacity:1;
    visibility:visible;
}

.spyx-video-modal-overlay{
    position:absolute;
    inset:0;
}

.spyx-video-modal-inner{
    position:relative;
    width:100%;
    max-width:1000px;
    margin:auto;
    z-index:2;
    transform:scale(.95);
    transition:.35s;
}

.spyx-video-modal.active .spyx-video-modal-inner{
    transform:scale(1);
}

.spyx-video-player{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
    border-radius:16px;
    overflow:hidden;
}

.spyx-video-player iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.spyx-video-close{
    position:absolute;
    top:-55px;
    right:0;
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    font-size:28px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.spyx-video-close:hover{
    transform:rotate(90deg);
}



/*==============================================================
    Hover Polish
==============================================================*/

.spyx-video-card{
    overflow:hidden;
}

.spyx-video-card-title{
    min-height:62px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
}

.spyx-video-card:hover .spyx-video-thumb{
    box-shadow:
        0 0 0 1px rgba(215,25,32,.4),
        0 18px 45px rgba(215,25,32,.25);
}

.spyx-video-play{
    position:relative;
}

.spyx-video-play::after{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.25);
    transition:.35s;
}

.spyx-video-card:hover .spyx-video-play::after{
    inset:-14px;
    border-color:rgba(215,25,32,.45);
}

/*==============================================================
    Tablet
==============================================================*/

@media (max-width:1200px){

    .spyx-video-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media only screen and (min-width:600px) and (max-width:1024px){

    .spyx-video-hero{
        min-height:auto;
        padding:80px 0 65px;
    }
.spyx-video-hero-bg {
    inset: inherit;
            margin-top: -200px;

}
    .spyx-video-hero-content{
        width:100%;
        max-width:560px;
        margin:0 auto;
        padding:0 30px;
        text-align:center;
    }

    .spyx-video-title{
        font-size:82px;
    }

    .spyx-video-divider{
        margin:22px 0;
    }

    .spyx-video-description{
        max-width:430px;
        margin:22px auto 30px;
        font-size:18px;
        line-height:1.6;
    }

    .spyx-video-btn{
        width:300px;
        height:54px;
        font-size:17px;
    }

    .spyx-video-grid{
        grid-template-columns:repeat(2,1fr);
        gap:26px;
    }

    .spyx-video-player{
        border-radius:14px;
    }

}


/*==============================================================
    Mobile
==============================================================*/

@media only screen and (max-width:599px){

    .spyx-video-modal{
        padding:15px;
    }
    .spyx-video-divider {
        margin: 18px auto;
        width: 70%;
    }
    .spyx-video-container{
        width:calc(100% - 30px);
    }

    .spyx-video-hero{
        min-height:auto;
        padding:95px 0 45px;
    }

    .spyx-video-hero-content{
        width:100%;
        max-width:340px;
        margin:0 auto;
        padding:0 20px;
        text-align:center;
    }

    .spyx-video-title{
        font-size:58px;
    }
.spyx-video-hero-bg {
    inset: inherit;
            margin-top: -200px;

}


    .spyx-video-divider:before{
        width:16px;
        height:16px;
        top:-7px;
    }

    .spyx-video-description{
        max-width:310px;
        margin:18px auto 26px;
        font-size:15px;
        line-height:1.6;
    }

    .spyx-video-btn{
        width:100%;
        max-width:300px;
        height:50px;
        font-size:16px;
    }

    .spyx-video-btn i{
        font-size:20px;
    }

    .spyx-video-grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .spyx-video-play{
        width:62px;
        height:62px;
        font-size:22px;
    }

    .spyx-video-card-title{
        font-size:20px;
        min-height:auto;
    }

    .spyx-video-pagination{
        margin-top:50px;
    }

    .spyx-video-pagination .page-numbers{
        width:42px;
        height:42px;
    }

    .spyx-video-modal-inner{
        width:calc(100% - 20px);
    }

    .spyx-video-close{
        top:-45px;
        right:0;
    }

}