@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: local('Noto Sans CJK JP Regular'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2)
			format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff)
			format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf)
			format('opentype');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	src: local('Noto Sans CJK JP Medium'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2)
			format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff)
			format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf)
			format('opentype');
}

@-webkit-keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
	}
}
@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

body {
	margin: 0;
	padding: 0;
	background: #000;
	overflow: hidden;
}

.hide {
	opacity: 0;
}
.pause {
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.7) 100%
	);
	/* Firefox
    background: -moz-linear-gradient(top center, #fff 0%, #999 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#999));
     */
	background: linear-gradient(
		top bottom,
		transparent 0%,
		rgba(0, 0, 0, 0.7) 100%
	);
}
.darkgray {
	color: #7f7f7f;
}
.darkgray div {
	color: #7f7f7f;
}

#container {
	width: 100%;
	height: 100%;
}

#loadImg {
	width: 100%;
	min-height: 100vh;
	background-color: #212228;
	display: flex;
	justify-content: center;
	align-content: center;
	position: relative;
	z-index: 15;
}

#waitImg {
	width: 100%;
	min-height: 100vh;
	background-color: #212228;
	display: flex;
	justify-content: center;
	align-content: center;
	position: relative;
	z-index: 30;
}

#waitImg .logo,
#loadImg .logo {
	width: calc(640 / 1920 * 100%);
}

#videoContainer,
#receiverVideoElement {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	color: #ffffff;
	background-color: #000000;
	/*transition: opacity .3s;*/
	z-index: 10;
}

#controlArea {
	width: 100%;
	height: 100%;
	position: absolute;
	transition: opacity 0.3s;
	z-index: 20;
	top: 0px;
}

#controlArea > div {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
}
#controlArea .wrap {
	height: 25%;
	position: absolute;
	left: 96px;
	right: 96px;
	bottom: 34px;
	z-index: 30;
	color: #fff;
}
#progressArea {
	background: #212228;
	border-radius: 8px;
	position: relative;
	width: 100%;
	height: 66px;
	padding: 0 24px;
}
#thumbArea {
	position: relative;
	width: 100%;
	height: 55%;
}
#seekTime,
#totalTime {
	font-family: 'Noto Sans JP';
	font-weight: 500;
	font-size: 16px;
}
#seekTime {
	display: inline-block;
	line-height: 66px;
}
#totalTime {
	float: right;
	line-height: 66px;
}

#pauseImg {
	float: left;
	line-height: 66px;
	margin: 0 5px 0 -10px;
	display: none;
}

#pauseImg #pause_img {
	padding-top: 25px;
	width: 16px;
	height: 16px;
}

#progressArea #progressBar {
	position: absolute;
	width: 80%;
	height: 11%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: #5a5c63;
	border-radius: 5px;
}
#progressBar > div {
	position: absolute;
	top: 0;
	left: 0px;
	height: 100%;
}
#buffered {
	background: #424242; /*Image of the loading icon*/
}
#seeked {
	outline: 0;
	outline: thin dotted \9;
	background-color: #70499a;
	border-radius: 5px 0 0 5px;
}
#progressBar > div#seekPoint {
	width: 30px;
	height: 30px;
	background: #70499a;
	border-radius: 50%;
	/* top: -12.25px; */
	top: -11px;
	left: -6px;
}

#thumb_view {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#thumb_view .title {
	font-size: 3.5vh;
	line-height: 3.5vh;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 4px 0 4px 8px;
}
#thumb_view .explain {
	font-size: 2.5vh;
	line-height: 2.5vh;
	overflow: hidden;
	padding: 4px 0 4px 0.5%;
}
.load_img {
	-webkit-animation: spin 0.9s linear infinite;
	-moz-animation: spin 0.9s linear infinite;
	-ms-animation: spin 0.9s linear infinite;
	-o-animation: spin 0.9s linear infinite;
	animation: spin 0.9s linear infinite;
}

#controlArea .other_wrap {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 30;
}
#controlArea .other_wrap .right_top {
	height: 4%;
	position: absolute;
	right: 26px;
	top: 30px;
}
#controlArea .other_wrap .right_top img {
	position: relative;
	display: block;
	height: 100%;
}

.status {
	position: absolute;
	height: 13%;
	bottom: 13%;
	right: 96px;
	margin-bottom: 34px;
}
.status img {
	position: relative;
	height: 100%;
	display: block;
}

#messages {
	color: #ffffff;
	float: left;
	margin-left: 25px;
	margin-top: 25px;
	z-index: 2;
	position: absolute;
	font-weight: bold;
	width: 1000px;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 55;
	display: none;
}
#messages span {
	font-weight: normal;
}

#errorMessages {
	color: #ffffff;
	width: 100%;
	top: 65%;
	position: absolute;
	z-index: 55;
	display: none;
}
#errorMessage {
	text-align: center;
}