.top-bar-left,
.top-bar-right,
.top-bar {
    display: flex;
    align-items: baseline;
}

.top-bar {
    flex-wrap: wrap-reverse;
}

.top-bar {
    justify-content: space-between;
}

.top-bar-left a {
    text-decoration: none;
    color: #37e;
}

.top-bar-right {
    justify-content: right;
}

.top-bar-right>div {
    margin-left: 0.5em;
}

.vod-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5em;
}

.vod-list .vod-item {
    width: calc(50% - 0.25em);
    overflow: hidden;
    cursor: pointer;
}

@media screen and (min-width: 400px) {
    .vod-list .vod-item {
        width: calc(33.333% - 0.34em);
    }
}

@media screen and (min-width: 600px) {
    .vod-list .vod-item {
        width: calc(25% - 0.38em);
    }
}

@media screen and (min-width: 800px) {
    .vod-list .vod-item {
        width: calc(16.666% - 0.42em);
    }
}

@media screen and (min-width: 900px) {
    .vod-list .vod-item {
        width: calc(150px - 0.42em);
    }
}

.vod-list .vod-item a {
    color: #000;
    text-decoration: none;
}

.vod-list .vod-poster {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 150%;
    background-position: center;
}

.vod-list .vod-poster .vod-badge {
    position: absolute;
    background: #fff;
    color: #000;
    top: 0;
    right: 0;
    padding: 0 4px;
    border-radius: 0 0 0 8px;
}

.vod-list .vod-poster>img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    right: 0;
}

.vod-list .vod-poster .vod-memo {
    position: absolute;
    background: #fff;
    bottom: 0;
    right: 0;
    padding: 0 4px;
    border-radius: 6px 0 0 6px;
    font-size: 0.6em;
}

.vod-list .vod-title {
    overflow: hidden;
}

@keyframes circle {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    border: 0.3em solid #37e;
    border-top-color: rgba(0, 0, 0, 0.2);
    border-left-color: rgba(0, 0, 0, 0.2);
    border-bottom-color: rgba(0, 0, 0, 0.2);
    border-radius: 100%;
    animation: circle infinite 0.75s linear;
}

@keyframes flash-neon {
    0%,
    100% {
        text-shadow: none;
    }

    50% {
        color: #000;
        text-shadow: 0px 0px 10px #f60;
    }
}

.neon-flash {
    animation: flash-neon 1s 8 ease-in-out;
}
