/* Videoplayer Version 1.0.5 (05.09.2023) */

/* Fehlerbehandlung */

.player.error {
	font-size: 1rem;
}

.player.error .player_overlay {
	display: block;
	background: black;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	margin: 0;
	border-radius: 0;
}

.player.error .player_overlay p {
	color: white;
	position: relative;
	top: calc(50% - 1.5rem);
	text-align: center;
	padding: 1rem;
}

.player.error .player_controls {
	display: none;
}

/* ***** */

.player {
	position: relative;
	font-size: 0;
	overflow: hidden;
}

.player * {
	box-sizing: border-box;
}

.player.fullscreen_player {
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-align-items: center;
	width: 100%;
}

.player_video {
	width: 100%;
	background-size: 100% 100%;
	background-image: ;/* our video */
	background-position: center center;
	background-size: contain;
	object-fit: cover;
	position: relative;
}

.player.fullscreen_player .player_video {
}

.player_controls {
	position: absolute;
	bottom: 0;
	width: 100%;
        height: auto;
	background: rgba(0, 0, 0, 0.5);
	overflow: hidden;
}

.player_controls.run {
	height: 0;
	transition: height .3s;
}

.player:hover .player_controls,
.player:focus .player_controls,
.player .player_controls:focus-within,
.player .player_controls.stop {
	height: auto;
}

.player .player_controls:focus-within {
	height: 52px;
}

.player:hover .progress {
}

.player__controls > * {
}

.player video:focus {
	outline: 2px solid orange;
}

.progress_container {
	margin-bottom: 3px;
	padding: 0 5px;
	height: 9px;
}

.progress {
	position: relative;
	height: 5px;
	cursor: pointer;
	border: 2px solid transparent;
	box-sizing: content-box;
}

.progress:focus {
	border: 2px solid orange;
	outline: none;
}

.progress_background {
	position: relative;
	height: 5px;
	background: white;
}

.progress_filled {
	width: 0;
	height: 100%;
	background: #3fb0ac;
}

.player_buttons {
	display: flex;
        flex-flow: row;
}


.player_buttons_left {
	display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        flex: 1;
}

.player_buttons_right {
        display: inline-block;
        float: right;
	padding-right: 5px;
	height: 40px;
}

.player_buttons_left > *,
.player_buttons_right > * {
	height: 36px;
	display: inline-block;
	border: 2px solid transparent;
}

.player_buttons_left .player_time {
	border: 0;
}

.player_button {
	background: none;
	line-height: 1;
	color: white;
	text-align: center;
	outline: 0;
	padding: 0;
	cursor: pointer;
	width: 36px;
	background-repeat: no-repeat;
}

.player_button:focus {
	border: 2px solid orange;
}

.player_button_play {
	background: url(../images/sprite.png) 0 -2px;
}

.player_button_pause {
	background: url(../images/sprite.png) -32px -2px;
}

.player_button_mute_off {
	background: url(../images/sprite.png) -95px -2px;
}

.player_button_mute_on {
	background: url(../images/sprite.png) -64px -2px;
}

.player_button_subtitles_on {
	background: url(../images/sprite.png) -192px -2px;
}

.player_button_subtitles_off {
	background: url(../images/sprite.png) -225px -2px;
}

.player_button_fullscreen {
	background: url(../images/sprite.png) -128px -2px;
}

.player_button_window {
	background: url(../images/sprite.png) -160px -2px;
}

.player_time {
	display: flex;
	align-items: center;
	padding: 0 5px;
}

.player_time * {
	font-family: Arial,Helvetica,sans-serif;
	font-size: 0.8rem;
	color: white;
}

.player_time span {
	line-height: 36px;
}

.time_separator {
	padding: 0 3px;
}

.volume_container {
	padding: 0 5px;
	height: 32px;
	width: calc(100% - 200px);
	max-width: 200px;
	vertical-align: bottom;
	box-sizing: content-box;
}

.volume {
	position: relative;
	height: 7px;
	cursor: pointer;
	border: 2px solid transparent;
	top: 50%;
	margin-top: -5px;
	box-sizing: content-box;
}

.volume:focus {
	border: 2px solid orange;
	outline: none;
}

.volume_background {
	position: relative;
	height: 7px;
	background: white;
}

.volume_filled {
	width: 0;
	height: 100%;
	background: #3fb0ac;
}

.subtitles-menu {
	position: absolute;
	right: 40px;
	bottom: 40px;
	background: rgba(0, 0, 0, 0.5);
}

.subtitles-menu li {
	background-color: transparent;
	color: white;
}

.subtitles-menu li:hover {
	background-color: white;
	color: black;
}

.player_overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 64px;
	height: 64px;
	margin-left: -32px;
	margin-top: -32px;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 5px;
	pointer-events: none;
	background-image: url(../images/sprite.png);
	background-position: 0 -36px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.player_overlay.hide {
	display: none;
}

/* Hiding video controls
	* See: https://css-tricks.com/custom-controls-in-html5-video-full-screen/
	* --------------------------------------- */

video::-webkit-media-controls {
	display: none !important;
}

.slide {
	position: relative;
}

.video-control {
	position: absolute;
	transform: translate(60%, 32vh);
	z-index: 123;
}
