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

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

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

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

.top-bar-left form {
    margin-bottom: 1em;
}

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

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

.history {
    position: relative;
}

.history-btn {
    cursor: pointer;
}

.history-content {
    visibility: hidden;
    position: absolute;
    top: 1em;
    left: -0.5em;
    margin: 0;
    padding: 0.5em 0 0;
    border-radius: 0.5em;
}

.history-content.history-content-show,
.history-content:hover,
.history-btn:hover+.history-content {
    visibility: visible;
    z-index: 20;
}

.history-list {
    margin: 0;
    padding: 0;
}

.history-clear {
    padding: 0.5em;
    background-color: #fff;
    border-radius: 0 0 0.5em 0.5em;
}

.history-list li {
    list-style: none;
    padding: 0 0.5em;
    background-color: #fff;
}

.history-list li a {
    display: inline-block;
    width: 12em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.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;
}

@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% {
        color: #000;
        text-shadow: none;
    }

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

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