/*
 * Copyright © 2023 JVCKENWOOD Corporation. All rights reserved.
 */

body {
    margin: 0;
    padding: 0;
    font-size: 90%;
    overflow-x: hidden;
    overflow-y: hidden;
    background-color: var(--ma-bg-color);
    color: var(--ma-fg-color);
}

/* フォーカスのアウトラインを表示しない */
*:focus {
    outline: none;
}

/* コントロールバー */
.video-js .vjs-control-bar {
    height: 5em;
}

/* タイムバー */
.video-js .vjs-progress-control {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: .5em;
    top: -.5em;
}
.video-js .vjs-progress-control .vjs-load-progress,
.video-js .vjs-progress-control .vjs-play-progress,
.video-js .vjs-progress-control .vjs-progress-holder {
    height: 100%;
}
.video-js .vjs-progress-control .vjs-play-progress:before {
    display: none;
}
.video-js .vjs-progress-control .vjs-progress-holder {
    margin: 0;
}
.video-js .vjs-progress-control:hover {
    height: 1.2em;
    top: -1.2em;
}
.video-js .vjs-play-progress {
    background-color: var(--ma-base-color-transparent);
}
.video-js .vjs-load-progress {
    background: var(--ma-progress-loaded-color);
}
.video-js .vjs-spacer {
    margin: 0 0 0 auto;
}
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    bottom: 3.5em;
}

/* 画面下部のメニュー(controlbar) */
.video-js .vjs-control-bar {
    display: flex;
    background-color: var(--ma-bg-color-transparent);
    color: var(--ma-fg-color);
    user-select: none;
    height: 3em;
}

/* 再生時間 0:00 / 0:00  */
.video-js .vjs-time-control {
    display:inline;
    padding-left: 0px;
    padding-right: 0px;
}
.video-js .vjs-time-control span {
    vertical-align: center;
    font-size: 1.32em;
}
.video-js .vjs-time-divider {
    text-align: center;
}
.video-js .vjs-remaining-time {
    display: none;
}
.video-js .vjs-volume-vertical {
    z-index: 1;
}
.video-js .vjs-playback-rate .vjs-menu {
    z-index: 1;
}

/* Canvas */
.vjs-canvas {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

/* リピート位置バー */
.bar_repeat{
	user-select: none;
	position: absolute;
	top: -10.0%;
	left: 0px;
	width: 10.0%;
	height:10.0%;
	visibility: hidden;
	pointer-events: none;
	background-color: var(--ma-repeat-invalid-color);
}

/* 演奏有無表示バー */
.bar_main {
	user-select: none;
    position: absolute;
    top: 0.0%;
	left: 0px;
	width: 100%;
	height:10.0%;
    visibility: hidden;
	background-color: var(--ma-no-data-color);
}

.bar_on {
	user-select: none;
    position: absolute;
    top: 0.0%;
	left: 0px;
	width: 0%;
	height:10.0%;
    visibility: hidden;
	background-color: var(--ma-playing-color);
}

/* 視聴者数表示 */
.vjs-viewcount {
    position: absolute;
    font-size: 1.2em;
    display: flex;
    bottom: 20%;
    left: 2.5%;
    color: var(--ma-base-color);
}
.vjs-viewcount div {
    margin-right: 1.2em;
    display: flex;
}
.vjs-viewcount i {
    margin-right: 0.2em;
}

/* 情報表示エリア */
.vjs-info {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 100%;
    visibility: hidden;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    z-index: 1;
}

.vjs-info p {
    position: absolute;
    color: var(--ma-fg-color);
    background: var(--ma-bg-color-transparent);
    padding: 0.5em 0.5em;
    top: 0.5em;
    left: 0.5em;
    line-height: 1.5em;
    text-shadow:1px 1px 3px var(--ma-shadow-color);
}

/* 情報表示内リンクボタン */
.vjs-info-link {
    cursor: pointer;
}

.vjs-info-link img {
    position: relative;
    bottom: 0.1em;
    width: auto;
    height: 1.3em;
    margin: 0em 0.1em 0em 0em;
}

/* ライブロゴ画像表示エリア */
.vjs-livelogo {
    position: absolute;
    top: 30px;
    right: 30px;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    visibility: hidden;
}

.vjs-livelogo img {
    width: auto;
    height: 100%;
    opacity: 0.5;
}

/* サムネイル画像表示エリア */
.vjs-thumb {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 25%;
    height: 25%;
    font-size: 80%;
    pointer-events: none;
    visibility: hidden;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
}
 
.vjs-thumb img {
    position: absolute;
    width: 100%;
    visibility: hidden;
    border:2px solid var(--ma-thumb-border-color);
}

.vjs-thumb video {
    position: absolute;
    width: 100%;
    visibility: hidden;
    border:2px solid var(--ma-thumb-border-color);
}

.vjs-thumb p {
    position: absolute;
    background: var(--ma-bg-color-transparent);
    color: var(--ma-fg-color);
    padding: 0.5em 0.5em;
    margin: 0 0 1em 0;
    bottom: -0.5em;
    left: 0.5em;
    line-height: 1.5em;
    text-shadow:1px 1px 3px var(--ma-shadow-color);
}

/* 矢印ボタン表示エリア共通 */
.vjs-arrow {
    position: absolute;
    font-size: 3.0em;
    text-align: center;
    vertical-align: center;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    visibility: hidden;
    z-index: 1;
}

/* 上矢印ボタン表示エリア */
.vjs-arrow-upper {
    top: 10px;
    left: 10px;
}

/* 左矢印ボタン表示エリア */
.vjs-arrow-left {
    left: 10px;
}

/* 右矢印ボタン表示エリア */
.vjs-arrow-right {
    right: 10px;
}

/* ロゴ画像表示エリア */
.vjs-logo {
    position: absolute;
    left: 30px;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    visibility: hidden;
    z-index: 0;
}
 
.vjs-logo img {
    width: auto;
    height: 100%;
    opacity: 0.5;
}

.vjs-logo-base {
    position: absolute;
    left: 30px;
    visibility: hidden;
}
 
.vjs-logo-base img {
    width: auto;
    height: 100%;
    opacity: 1.0;
}

/* 右サイドのロゴ画像表示エリア */
.vjs-logo-r {
    position: absolute;
    right: 30px;
    visibility: hidden;
    z-index: 0;
}
 
.vjs-logo-r img {
    width: 100%;
    height: auto;
}

/* アンケート画像表示エリア */
.vjs-enquete {
    position: absolute;
    right: 30px;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    visibility: hidden;
}

.vjs-enquete img {
    width: auto;
    height: 100%;
    opacity: 0.7;
}

/* コメント投稿エリア */
.vjs-comment-post {
    position: absolute;
    background: var(--ma-bg-color-transparent);
    visibility: hidden;
    padding: 0.2em 0.2em;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    z-index: 1;
}

.vjs-comment-post input {
    font-size: 0.8em;
    background: var(--ma-comment-post-bg-color);
    border:none;
    border-radius: 0.5em;
    box-shadow: none;
    margin: 0.3em 0.2em;
    padding: 0.5em 0.5em;
}

.vjs-comment-post button {
    cursor: pointer;
    position: relative;
    width: auto;
    height: 1.5em;
    padding: 0.2em;
    margin: 0em 0.1em 0em 0em;
}

/* コメントリストエリア */
.vjs-comment-list {
    position: absolute;
    color: var(--ma-comment-text-color);
    background: var(--ma-bg-color-transparent);
    visibility: hidden;
    padding: 0.2em;
    overflow-x: hidden;
    overflow-y: auto;
    filter: drop-shadow(5px 5px 5px var(--ma-shadow-color));
    z-index: 1;
}

.vjs-comment-own {
    width: 100%;
    margin: 0.5em 0;
    text-align: right;
    overflow: hidden;
}

.vjs-comment-own p {
    display: inline-block;
    position: relative; 
    margin: 0 0.6rem 0 0;
    padding: 0.5rem 0.5rem 0.3rem 0.5rem;
    border-radius: 0.5em;
    background: var(--ma-comment-own-bg-color);
    text-align: left;
    font-size: 0.7em;
}

.vjs-comment-own p:after {
    content: "";
    position: absolute;
    top: 0.2rem;
    right: -18px;
    border: 8px solid transparent;
    border-left: 18px solid var(--ma-comment-own-bg-color);
}

.vjs-comment {
    width: 100%;
    margin: 0.5em 0;
    text-align: left;
    overflow: hidden;
}

.vjs-comment-date {
    display: block;
    position: relative; 
    margin: 0 0.6em 0 0.6em;
    font-size: 0.6em;
    color: var(--ma-comment-date-color);
}

.vjs-comment-name {
    display: block;
    position: relative;
    left: 0.3em;
    margin: 0 0 0.3em 0;
    font-size: 0.5em;
    color: var(--ma-comment-name-color);
}

.vjs-comment-contents {
    display: inline-block;
    position: relative; 
    margin: 0 0 0 0.6rem;
    padding: 0.5rem;
    border-radius: 0.5em;
    background: var(--ma-comment-bg-color);
}

.vjs-comment-contents:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0.2rem; 
    left: -18px;
    border: 8px solid transparent;
    border-right: 18px solid var(--ma-comment-bg-color);
}

.vjs-comment-contents p {
    margin: 0;
    padding: 0;
    font-size: 0.7em;
}

/* スクロールバー */
div::-webkit-scrollbar {
    width: 0.7em;
    height: 0.7em;
}

div::-webkit-scrollbar-track {
    background: var(--ma-scroll-bg-color);
    border-radius: 0.5em;
}

div::-webkit-scrollbar-thumb {
    background: var(--ma-scroll-fg-color);
    border-radius: 0.5em;
}

.video-js.vjs-playing .vjs-tech {
  pointer-events: none;
}

.video-js.vjs-paused .vjs-tech {
  pointer-events: none;
}

/* コントロールバーへの追加ボタン */
.video-js .vjs-excontrol {
    font-size: 1.5em;
    width: 1.5em;
    cursor: pointer;
}

.video-js .vjs-abrepeat {
    font-size: 1.5em;
    width: 2.2em;
    margin-left: 0.2em;
    cursor: pointer;
}

.video-js .vjs-abpos-button {
    width: 1em;
}

.video-js .vjs-abpos-clear-button {
    width: 1.4em;
    margin-right: 0.2em;
}

div.modal-content {
    background-color: var(--ma-dialog-bg-color);
}

.mdi-exbtn .mdi::before {
    /* position: relative; */
    bottom: 0.65em;
}

/* モーダル通知 */
.modalBox {
	position: relative;
	width: 85%;
    top: 15.3em;
	margin: auto;
	overflow: hidden;
	opacity: 1;
	display: none;
    border-radius: 5px;
	z-index: 1000;
}

.modalInner {
    font-size: 1.5em;
	padding: 10px;
	text-align: center;
	box-sizing: border-box;
	background: var(--ma-modal-bg-color);
	color: var(--ma-fg-color);
}
