@font-face {
    src: url("/assets/fonts/kalpurush.ttf") format("truetype");
    font-family: 'Kalpurush';
    unicode-range: U+0980-09FF;
}

@font-face {
    src: url("/assets/fonts/Li Ador Noirrit Regular.ttf") format("truetype");
    font-family: 'Li Ador Noirrit';
    unicode-range: U+0980-09FF;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --clr: #222327;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, Kalpurush, Exo, 'Li Ador Noirrit', sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: linear-gradient(to right, #141e30, #243b55);
    color: #fff;
    position: relative;
}

.swiper-slide {
    height: auto;
    width: auto;
}

a {
    text-decoration: none;
    color: #fff;
}

.heading {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-family: Playwrite TZ, sans-serif;
    top: 0;
    width: 100%;
    text-align: center;
    font-size: 48px;
    text-shadow: 4px 4px 4px #aaa;
    font-weight: 500;
    position: sticky;
    z-index: 300;
    background: linear-gradient(to right, #141e30, #243b55);
    border-radius: 0 0 15px 15px;
}

.container {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    justify-content: center;
    width: 1000px;
    margin: 20px auto; /*130px*/
}

.content-thumb, .video-player-inline {
    text-align: center;
    display: flex;
    justify-content: center;
}

.content-thumb img {
    height: 50%;
    width: 50%;
    border-radius: 20px
}

.search-container {
    /* position: absolute;
    left: 50%;
    top: 25%; /* 50% */
    /* transform: translate(-50%, -50%); */
    display: flex;
    justify-content: center;
    text-align: center;
    transition: top 0.3s, transform 0.3s;
    /* width: 100%; */
    margin: 50px 50px 10px;
}

.search-container.top {
    top: 120px;
    transform: translateX(-50%);
}

.search-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 450px;
}

.topbar-search {
    max-width: 300px;
}

.search-box {
    width: 100%;
    padding: 15px 50px 15px 20px;
    border: none;
    border-radius: 30px;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    outline: none;
    box-sizing: border-box;
}

.search-button {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: 20px;
    color: #141e30;
}

.content-category-bar {
    padding-left: 15px;
    margin-bottom: 10px; /* 125px */
}


.content-category-list {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.content-category-list::-webkit-scrollbar {
    display: none;
}

.content-category-item {
    background-color: #2e3238;
    border: 1.5px solid #dfdfdf;
    border-radius: 25px;
    color: #a2a2a2;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    margin: 15px 25px 15px 0;
    padding: 7px 15px;
    white-space: nowrap;
}

.content-category-item.active {
    border: 1.5px solid #ffffff;
    color: #fff;
}


.trending-tray {
    margin-top: 30px;
    width: 100%;
    max-width: 100%;
    /* background-color: #151414; */
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    overflow-y: auto;
    padding: 10px 50px;
    box-sizing: border-box;
    bottom: 25px; /* 150px */
}

.trending-tray-title {
    font-family: "Exo", 'Li Ador Noirrit', sans-serif;
    font-size: 24px;
    color: #fff;
    margin: 0;
    padding: 10px;
}

.trending-container {
    display: flex;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.trending-container::-webkit-scrollbar {
    display: none;
}

.trending-item, .trending-item-landscape {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    width: 180px;
    cursor: pointer;
    transition: transform 0.3s;
}

.trending-item-landscape {
    width: 300px;
}

.trending-item:hover {
    transform: scale(1.05);
}

.trending-thumb, .trending-thumb-landscape {
    background-color: white;
    width: 175px;
    height: 260px;
    background-origin: unset;
    background-size: cover;
    border-radius: 7px;
}

.trending-item-banner {
    width: 70% !important;
    height: 100% !important;
    border-radius: 10px;
}

.trending-thumb-landscape {
    width: 285px;
    height: 160px;
}

.trending-thumb-banner {
    width: 98% !important;
    height: 100%! important;
    border-radius: 10px;
    display: flex;
    justify-content: center;
}

.trending-item-title {
    font-family: "Exo", 'Li Ador Noirrit', sans-serif;
    font-size: 14px;
    color: #fff;
    margin: 0;
    padding: 0 10px;
    text-align: center;
    white-space: normal;
}

.popup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 500;
}

.popup-content {
    color: #333;
    border-radius: 8px;
    width: 100%;
    max-width: 100%;
    position: relative;
    text-align: center;
}

.popup-search-bar {
    top: 0; /* This is The shit page class will not scroll up from knot(0) otherwise search box will scrool with kontent :) */
    position: sticky;
    display: flex;
    justify-content: space-evenly;
    padding: 24px 115px;
    height: 100px;
    border-bottom: 1px solid grey;
    background-color: black;
    box-sizing: border-box;
}

.close-popup {
    position: relative;
    float: right;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 35px;
    cursor: pointer;
    color: white;
}

.popup-search-box {
    width: 80%;
    padding: 15px 50px 15px 20px;
    border: none;
    border-radius: 30px;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    outline: none;
    box-sizing: border-box;
}

.search-result-group {
    background-color: black;
    position: sticky;
    top: 100px;
    padding: 0 110px;
}

.search-content-group {
    display: flex;
    list-style: none;
}

.search-content-group li {
    font-size: .8em;
    padding: 20px;
}

.search-content-group li:first-child {
    padding-left: 10px;
}

.search-group-title {
    cursor: pointer;
    font-size: 20px;
    text-align: center;
    border-bottom: 3px solid transparent;
    color: #ffffff;
    display: flex;
    flex-direction: column;
}

.search-content-group li.active .search-group-title:after {
    content: '';
    height: 3px;
    width: 66%;
    margin-top: 3px;
    background-color: #ff0000;
}


.results-container {
    /* margin-top: 30px; */
    width: 100%;
    max-width: 100%;
    background-color: #151414;
    /* color: #333; */
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    /* max-height: calc(100vh - 120px); Adjust this value to suit your layout */
    padding: 10px 111px;
    box-sizing: border-box;
}

.result-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 10px;
    border-radius: 8px;
    text-decoration: none;
    color: rgb(255, 255, 255);
    transition: transform 0.3s;
}

.result-item:hover {
    transform: scale(1.1);
}

.result-thumb {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background-color: #ccc;
    background-size: cover;
    border-radius: 4px;
}

.result-title {
    font-size: 16px;
    margin: 10px 0 5px;
    font-weight: bold;
}

.result-description {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.content-details {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.content-details .play-title {
    font-size: 18px;
    margin: 10px auto -15px;
    color: #d9d9d9;
}

.content-details .content-title {
    text-align: center;
    font-size: 33px;
    margin-top: 20px;
    font-family: 'Exo', 'Li Ador Noirrit', sans-serif;
    font-weight: bold;
}

.content-details .content-description {
    text-align: justify;
    font-size: 24px;
    margin-top: 20px
}

.video-details-feature-container {
    font-size: 20px;
    color: white;
}

.video-detail-feature-list {
    display: flex;
    list-style: none;
    justify-content: center;
    margin: 10px auto;
    flex-wrap: wrap;
}

.video-detail-feature-list-item:before {
    content: '\2022';
    margin: auto 10px;
}

.video-detail-feature-list-item:first-child:before {
    content: '';
    margin: 0;
}

.page-action-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 30px;
}

.page-action-container .player-button {
    align-items: center;
    background-color: #d20820;
    border: none;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    height: 50px;
    justify-content: space-evenly;
    padding: 13px 30px;
    width: 160px;
    transition: trasnform 0.3s;
}

.page-action-container .play-button:hover {
    transform: scale(1.1);
}

.page-action-container .sharing-button {
    align-items: center;
    background-color: rgba(11, 12, 14, .7);
    border: 1px solid #343434;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: flex;
    height: 50px;
    justify-content: center;
    padding: 12px 14px;
    width: 50px;
    transition: trasnform 0.3s;
}

.page-action-container .share-button:hover {
    transform: scale(1.1);
}


.season-tray-container {
    display: none;
    margin-bottom: 20px;
}

.season-count-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
    margin-top: 20px;
}

.season-count-list li {
    margin: 0 10px;
}

.season-count-list li:first-child {
    /* margin-left: 0; */
}

.season-count-list li span.season-count-title {
    font-size: 18px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
}

.season-count-list li.active span.season-count-title:after {
    content: '';
    height: 3px;
    width: 50%;
    margin-top: 3px;
    background-color: #ff0000;
}


.episode-tray {
    margin-top: 10px;
    column-count: 2;
    gap: 20px;
}

.episode-list {
    display: flex;
    flex-wrap: wrap;
}

.episode-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: trasform 0.3s;
    margin-bottom: 20px;
    break-inside: avoid;
    min-height: 125px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    width: 100%;
}

.episode-item:hover {
    transform: scale(1.07); /* 1.15 */
}

.episode-item img {
    height: 75px;
    border-radius: 10px;
    margin-left: 10px;
}

.episode-item .episode-details {
    padding: 10px;
}

.episode-item .episode-details .episode-title {
    font-size: 20px;
    font-weight: bold;
}

.episode-item .episode-details .episode-title .episode-number {
    color: #9e9e9e
}

.episode-item .episode-details .episode-description {
    font-size: 16px;
}


.popup-player {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.vid-player {
    --plyr-captions-background: auto;
    --plyr-captions-text-color: #9dff00;
    position: relative;
    max-width: 800px;
    min-width: 60%;
}

.video-player {
    position: relative;
    max-width: 900px;
    width: 100%;
}

#videoContainer, .plyr {
    width: 100%;
    border-radius: 15px;
}

.close-popup-player {
    font-family: 'Playwrite TZ', sans-serif;
    border: none;
    float: right;
    font-weight: bold;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    padding: 10px;
    z-index: 3000;
    right: 0;
    position: absolute;
}


.loading {
    position: absolute; /* fixed */
    /*top: 0;*/
    /*left: 0;*/
    width: 100%;
    /* height: 100%; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    z-index: 9999;
}

.loading-text {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    width: 100%;
    height: 100px;
    line-height: 100px;
}

.loading-text span {
    display: inline-block;
    margin: 0 5px;
    font-size: 50px;
    font-weight: bold;
    color: #00b3ff;
    font-family: 'Quattrocento Sans', sans-serif;
}

.loading-text span:nth-child(1) {
    filter: blur(0px);
    animation: blur-text 1.5s 0s infinite linear alternate;
}

.loading-text span:nth-child(2) {
    filter: blur(0px);
    animation: blur-text 1.5s 0.2s infinite linear alternate;
}

.loading-text span:nth-child(3) {
    filter: blur(0px);
    animation: blur-text 1.5s 0.4s infinite linear alternate;
}

.loading-text span:nth-child(4) {
    filter: blur(0px);
    animation: blur-text 1.5s 0.6s infinite linear alternate;
}

@keyframes blur-text {
    0% {
        filter: blur(0px);
    }

    100% {
        filter: blur(4px);
    }
}


.navmenu {
    visibility: hidden;
    position: fixed;
    bottom: -1px;
    width: 100%;
    height: 70px;
    background: #fff;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 10px 10px 0 0;
    z-index: 10;
}

.navmenu ul {
    position: relative;
    display: flex;
    width: 100%;
    justify-content: space-evenly;
    padding: 0;
    margin: 0;
    list-style: none;
}

.navmenu ul li {
    position: relative;
    list-style: none;
    width: 70px;
    height: 70px;
    z-index: 1;
}

.navmenu ul li a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    flex-direction: column;
    text-align: center;
    font-weight: 500;
}

.navmenu ul li a .icon {
    position: relative;
    display: block;
    line-height: 70px;
    font-size: 1.5em;
    text-align: center;
    color: var(--clr);
    transition: .5s;
}

.navmenu ul li a .text {
    position: absolute;
    font-size: .75em;
    letter-spacing: 0.05em;
    color: var(--clr);
    transition: .5s;
    font-weight: 400;
    opacity: 0;
    transform: translateY(20px);
}

.navmenu ul li.active a .text, .navmenu ul li:hover a .text {
    opacity: 1;
    transform: translateY(10px);
}

.navmenu ul li.active a .icon, .navmenu ul li:hover a .icon {
    transform: translateY(-35px);
    width: 70px;
    height: 70px;
    top: -50%;
    color: #29fd53;
}

.navmenu ul li.active a .icon {
    background: #f00; /*#29fd53;*/
    color: #fff;
    border-radius: 50%;
    line-height: 60px;
    border: 6px solid #fff;
    box-shadow: 0 0 10px #f00; /*#29fd53;*/
}

.navmenu ul li.active a .icon::before, .navmenu ul li.active a .icon::after {
    content: '';
    position: absolute;
    top: 14.2px;
    width: 15px;
    height: 15px;
    background: transparent;
    box-shadow: 0 5px #fff;
}

.navmenu ul li.active a .icon::before {
    border-radius: 50% 0;
    left: -20.3px;
}

.navmenu ul li.active a .icon::after {
    border-radius: 0 50%;
    right: -20.3px;
}


footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 5px 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 15px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-icons {
    display: flex;
    margin: 0 10px;
}

.footer-icons a {
    width: 30px;
    height: 30px;
    background: #fff;
    color: #000;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    margin: 5px;
    transition: background .5s, color .5s, transform .5s;
}

.footer-icons a:hover {
    background: #000;
    color: #fff;
    transform: translateY(-10px);
}

.footer-nav-menu {
    font-family: 'Courier New', Courier, monospace;
    margin: 10px 0;
}

.footer-nav-menu ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
}

.footer-nav-menu ul li {
    margin: 0 12px;
}

.footer-nav-menu ul li a:hover {
    color: rgba(0, 42, 255, 0.89);
}

.footer-nav-menu ul li a {
    color: #fff;
}

.copyright-area p {
    font-family: 'Courier New', Courier, monospace;
    display: flex;
    align-items: center;
}

.copyright-area a.copyright {
    font-family: 'Playwrite TZ', sans-serif;
    color: #c21d1d;
}

.margin-div {
    margin-bottom: 140px !important;
}


@media (max-width: 480px) {
    .results-container {
        grid-template-columns: repeat(1, 1fr);
        padding: 10px;
    }
}

@media (max-width: 1000px) {
    .heading {
        font-size: 36px;
    }
    .container {
        width: 100%;
        padding: 0 20px;
    }
    .content-details .content-description {
        font-size: 20px;
        margin-top: 10px;
    }
    .episode-item .episode-details .episode-description {
        font-size: 13px;
    }
}

@media (max-width: 800px) {
    .video-player {
        max-width: 100%;
        margin: 7px;
    }
}

@media (max-width: 768px) {
    .heading {
        font-size: 30px;
    }

    .search-box {
        padding: 10px 50px 10px 20px;
    }

    .result-title {
        font-size: 10px;
        margin-top: 5px;
    }

    .search-result-group {
        padding: 0 10px;
    }

    .search-result-group li {
        padding: 10px;
    }

    .popup-search-bar {
        padding: 24px 10px;
    }

    .search-wrapper {
        max-width: 300px;
    }

    .topbar-search {
        max-width: 150px;
    }

    .container {
        width: 100%;
        padding: 0 20px;
    }

    .content-thumb img {
        height: 100%;
        width: 100%;
        border-radius: 20px
    }

    .content-details .content-title {
        font-size: 25px;
        margin-top: 10px;
    }

    .content-details .play-title {
        font-size: 14px;
        margin: 10px auto -5px;
    }

    .search-group-title {
        font-size: 15px;
    }

    .results-container {
        grid-template-columns: repeat(3, 1fr);
        padding: 10px;
    }

    .trending-tray {
        padding: 10px;
    }

    .trending-item {
        width: 120px;
        min-height: 220px;
    }

    .trending-item-banner {
        width: 100% !important;
    }

    .trending-item-landscape {
        width: 220px;
        min-height: 120px;
    }

    .trending-thumb {
        width: 115px;
        height: 170px
    }
    .trending-thumb-landscape {
        width: 205px;
        height: 115px
    }

    .trending-thumb-banner {
        width: 98% !important;
    }

    .content-details .content-description {
        font-size: 15px;
        margin-top: 10px;
    }

    .episode-item .episode-details .episode-description {
        font-size: 11px;
    }

    .video-details-feature-container {
        font-size: 12px;
    }

    .episode-tray {
        column-count: 1;
    }

    .episode-item {
        min-height: 100px;
    }

    /* Plyr CSS BEGIN */

    .vid-player {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .plyr__volume {
        display: none !important;
    }

    [data-plyr="captions"] {
        display: none !important;
    }

    [data-plyr="pip"] {
        display: none !important;
    }

    [data-plyr="restart"] {
        display: none !important;
    }

    [data-plyr="rewind"] {
        display: none !important;
    }

    .content-category-list {
        justify-content: flex-start;
    }

    .content-category-item {
        font-size: 12px;
        margin: 15px 10px 10px 0;
    }
    /* For Nav Menu*/
    .navmenu {
        visibility: visible;
    }
    /*.content-category-bar {*/
    /*    margin-bottom: 240px;*/
    /*}*/
    /*.container {*/
    /*    margin-bottom: 250px;*/
    /*}*/
    /*.web-trending-trays .trending-tray {*/
    /*    bottom: 260px;*/
    /*}*/
    footer {
        /*bottom: -1px;*/
        padding: 5px 0 100px;
    }
    .margin-div {
        margin-bottom: 250px !important;
    }
}
