/* Common */
.aiovg-player .video-js {
	width: 100%;
	height: 100%;
}

.aiovg-player .video-js a,
.aiovg-player .video-js a:hover,
.aiovg-player .video-js a:focus {
	text-decoration: none;
}

.aiovg-player .video-js *:not(.vjs-input-embed-code):focus {
	outline: none;
}

/* Poster */
.aiovg-player .video-js .vjs-poster {
	background-color: #000;
}

.aiovg-player .video-js .vjs-poster img {
	object-fit: cover;
}

.aiovg-player .video-js.vjs-ended .vjs-poster {
	display: inline-block;
}

/* Text Track */
.aiovg-player .video-js:not(.vjs-has-started) .vjs-text-track-display {
	display: none;
}

.aiovg-player .video-js.vjs-ended .vjs-text-track-display {
	display: none;
}

/* Spinner */
.aiovg-player .vjs-waiting.vjs-paused .vjs-loading-spinner {
	display: none;
}

.aiovg-player.vjs-waiting .vjs-loading-spinner {
	display: flex !important;
}

/* Big Play Button */
.aiovg-player .video-js .vjs-big-play-button {
	transform: translate3d( -50%, -50%, 0 );
	margin: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba( 0, 0, 0, 0.5 );
	background-image: url( "data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.56047 5.09337C8.34001 4.9668 8.07015 4.96875 7.85254 5.10019C7.63398 5.23162 7.5 5.47113 7.5 5.73011L7.5 18.2698C7.5 18.5298 7.63398 18.7693 7.85254 18.9007C7.96372 18.9669 8.0882 19 8.21268 19C8.33241 19 8.45309 18.9688 8.56047 18.9075L18.1351 12.6377C18.3603 12.5082 18.5 12.2648 18.5 12C18.5 11.7361 18.3603 11.4917 18.1351 11.3632L8.56047 5.09337Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E" );
	background-position: center;
	background-size: 75%;
	width: 3em;
	height: 3em;
}

.aiovg-player .video-js:hover .vjs-big-play-button,
.aiovg-player .video-js .vjs-big-play-button:focus {
	background-color: rgba( 0, 0, 0, 0.8 );			
}		

.aiovg-player .vjs-waiting.vjs-paused .vjs-big-play-button,
.aiovg-player .video-js.vjs-ended .vjs-big-play-button {
	display: block;
}

.aiovg-player.vjs-waiting .vjs-big-play-button {
	display: none !important;
}

.aiovg-player .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
	content: "";
}

/* Control Bar */
.aiovg-player .video-js.vjs-no-control-bar .vjs-control-bar {
	display: none;
}		

.aiovg-player .video-js.vjs-ended .vjs-control-bar {
	display: none;
}

/* Menu */
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu ul {
	background-color: transparent;	
	max-height: 20em;		
}

.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li,
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li:hover,
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li:focus {
	margin-bottom: 1px;
	border-radius: 2px;			
	background-color: rgba( 0, 0, 0, 0.8 );			
	padding: 0.5em;
	color: #fff;
	text-transform: initial;
}	

.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li:hover,
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li:focus {
	background-color: #000;
}

.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li.vjs-selected,
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li.vjs-selected:hover,
.aiovg-player .video-js .vjs-menu-button-popup .vjs-menu li.vjs-selected:focus {			
	background-color: #fff;	
	color: #000;
}

/* Current Time & Duration */
.aiovg-player .video-js .vjs-current-time {
	display: flex;
}

.aiovg-player .video-js:not(.vjs-live) .vjs-time-divider {
	display: flex;
	margin: 0;
	padding-right: 0;
	padding-left: 0;
	min-width: auto;
}

.aiovg-player .video-js:not(.vjs-live) .vjs-duration {
	display: flex;
}

/* Progress Control */
.aiovg-player .video-js .vjs-progress-control {
	width: 100%;
	-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
}

.aiovg-player .video-js .vjs-play-progress:before {
	top: 50%;
	transform: translateY( -50% );
}		

.aiovg-player .video-js .vjs-progress-control .vjs-time-tooltip {
	padding: 0.5em;
}

.aiovg-player .video-js .vjs-progress-control:hover .vjs-time-tooltip {
	display: flex;
	gap: 0.2em;
	transform: translateX( -50% );
	width: max-content;
}

/* Chapters */
.aiovg-player .video-js .vjs-marker {
	position: absolute;
	top: 0;
	bottom: 0;
	opacity: 0.8;
	z-index: 1;
	background: #ffff00;
	width: 3px;	
}

/* Spacer */
.aiovg-player .video-js .vjs-custom-control-spacer {
	display: flex;
	flex: 1 1 auto;
}

/* Playback Rate */
.aiovg-player .video-js .vjs-playback-rate .vjs-menu {
	left: -3em;
	width: 10em;
}

.aiovg-player .video-js .vjs-playback-rate .vjs-playback-rate-value {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2em;
}

/* Quality Selector (Self Hosted / External URL) */
.aiovg-player .video-js.vjs-4k .vjs-quality-selector:after, 
.aiovg-player .video-js.vjs-hd .vjs-quality-selector:after {
	pointer-events: none; 
	display: flex;
	position: absolute;
	top: 0.5em;
	right: 0;
	align-items: center;
	justify-content: center;			
	border-radius: 2em;	
	background-color: #f00;
	padding: 0;
	width: 2.2em;
	height: 2.2em;
	text-align: center; 
	letter-spacing: 0.1em;
	line-height: 1;
	color: inherit;								 
	font-size: 0.7em;
	font-weight: 300;   
	content: "";			
}

.aiovg-player .video-js.vjs-4k .vjs-quality-selector:after {
	content: "4K";
}

.aiovg-player .video-js.vjs-hd .vjs-quality-selector:after {
	content: "HD";
}

.aiovg-player .video-js .vjs-quality-selector .vjs-menu .vjs-quality-menu-item-sub-label {			
	position: absolute;
	right: 0;
	width: 4em;
	text-align: center;
	text-transform: none;	
	font-size: 75%;
	font-weight: bold;					
}

/* Quality Menu (HLS / MPEG-DASH) */
.aiovg-player .video-js.vjs-quality-menu .vjs-quality-menu-button-4K-flag:after, 
.aiovg-player .video-js.vjs-quality-menu .vjs-quality-menu-button-HD-flag:after {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f00;
	line-height: 1;
}

/* Volume Panel */
.aiovg-player .video-js .vjs-slider-horizontal .vjs-volume-level:before {
	top: 50%;
	transform: translateY( -50% );
}

.aiovg-player .video-js .vjs-slider-horizontal .vjs-volume-tooltip {
	padding: 0.5em;
}

/* Share & Embed */
.aiovg-player .video-js .vjs-share {
	display: none;
	margin: 0.5em;
}

.aiovg-player .video-js.vjs-has-started .vjs-share {
	display: block;			
	transition: visibility 0.1s, opacity 0.1s;
	visibility: visible;
	opacity: 1;
}

.aiovg-player .video-js.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-share {			
	transition: visibility 1s, opacity 1s;
	visibility: visible;
	opacity: 0;
}

.aiovg-player .video-js .vjs-share button {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 0;		
	border-radius: 2px;
	box-shadow: none;
	background: rgba( 0, 0, 0, 0.5 );
	cursor: pointer;	
	padding: 0;
	width: 4em;
	height: 4em;
	line-height: 1;
	color: #fff;
}

.aiovg-player .video-js .vjs-share:hover button {
	background-color: rgba( 0, 0, 0, 0.8 );
}

.aiovg-player .video-js .vjs-share .vjs-icon-share {
	line-height: 1;
	font-size: 1.8em;
}				

.aiovg-player .video-js .vjs-modal-dialog-share-embed {
	background: #222 !important;
}

.aiovg-player .video-js .vjs-modal-dialog-share-embed .vjs-modal-dialog-content {
	line-height: 1;
	font-size: 1em;
}

.aiovg-player .video-js .vjs-modal-dialog-share-embed .vjs-close-button {
	margin: 1em;
}

.aiovg-player .video-js .vjs-share-embed {
	display: flex !important;
	flex-direction: column; 
	align-items: center;
	justify-content: center;
	gap: 2.5em;
	width: 100%;
	height: 100%;
}

.aiovg-player .video-js .vjs-share-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}

.aiovg-player .video-js .vjs-share-button {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	width: 4em;
	height: 4em;            
	line-height: 1;
	color: #fff;
}       

.aiovg-player .video-js .vjs-share-button:hover {
	opacity: 0.9;
}

.aiovg-player .video-js .vjs-share-button-facebook {
	background-color: #3B5996;
}   

.aiovg-player .video-js .vjs-share-button-twitter {
	background-color: #55ACEE;
}

.aiovg-player .video-js .vjs-share-button-linkedin {
	background-color: #006699;
}

.aiovg-player .video-js .vjs-share-button-pinterest {
	background-color: #C00117;
}

.aiovg-player .video-js .vjs-share-button-tumblr {
	background-color: #28364B;
} 

.aiovg-player .video-js .vjs-share-button-whatsapp {
	background-color: #25d366;
}  

.aiovg-player .video-js .vjs-share-button span {            
	line-height: 1;
	font-size: 2em;
}

.aiovg-player .video-js .vjs-embed-code {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	width: 100%;
	max-width: 640px;
}

.aiovg-player .video-js .vjs-embed-code label {
	text-transform: uppercase;
	font-size: 11px;
}

.aiovg-player .video-js .vjs-embed-code input {            
	border: 1px solid #fff;
	border-radius: 2px;
	background: #fff;
	padding: 0.5em;
	width: 100%;            
	line-height: 1;
	color: #000;
}

.aiovg-player .video-js .vjs-embed-code input:focus {
	border: 1px solid #fff;
}

/* Download Button */
.aiovg-player .video-js .vjs-download {
	display: none;
	margin: 0.5em;
	cursor: pointer;
}

.aiovg-player .video-js .vjs-has-share.vjs-download {
	margin-top: 5em;
}

.aiovg-player .video-js.vjs-has-started .vjs-download {
	display: block;			
	transition: visibility 0.1s, opacity 0.1s;
	visibility: visible;
	opacity: 1;
}

.aiovg-player .video-js.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-download {
	transition: visibility 1s, opacity 1s;
	visibility: visible;
	opacity: 0;
}

.aiovg-player .video-js .vjs-download a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border-radius: 2px;
	background-color: rgba( 0, 0, 0, 0.5 );	
	padding: 0;
	width: 4em;
	height: 4em;
	line-height: 1;
	color: #fff;
}	

.aiovg-player .video-js .vjs-download:hover a {
	background-color: rgba( 0, 0, 0, 0.8 );	
}

.aiovg-player .video-js .vjs-download .vjs-icon-file-download {
	line-height: 1;
	font-size: 1.8em;
}	

/* Custom Logo & Branding */
.aiovg-player .video-js .vjs-logo {
	opacity: 0;
}

.aiovg-player .video-js.vjs-has-started .vjs-logo {
	transition: opacity 0.1s;
	opacity: 0.6;
}

.aiovg-player .video-js.vjs-has-started .vjs-logo:hover {
	opacity: 1;
}

.aiovg-player .video-js.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-logo {
	transition: opacity 1s;
	opacity: 0;
}

.aiovg-player .video-js .vjs-logo a {
	display: inline-block;
	line-height: 1;
}

.aiovg-player .video-js .vjs-logo img {
	max-width: 100%;
}

.aiovg-player .video-js.vjs-ended .vjs-logo {
	display: none;
}	

/* Error Display */
.aiovg-player .video-js .vjs-error-display {
	background: #222 !important;
}

/* Theme: Custom */
.aiovg-player .video-js.vjs-theme-custom .vjs-text-track-display {
	bottom: 4.5em;
}

.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-text-track-display,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-text-track-display {
	bottom: 3.6em;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-overlay-bottom-right,
.aiovg-player .video-js.vjs-theme-custom .vjs-overlay-bottom-left {
	bottom: 4.5em;
}

.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-overlay-bottom-right,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-overlay-bottom-right,
.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-overlay-bottom-left,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-overlay-bottom-left {
	bottom: 3.6em;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-control-bar {
	background-color: transparent;
	background-image: linear-gradient( 180deg, rgba( 0, 0, 0, 0 ) 0, rgba( 0, 0, 0, 0 ) 100% );			
	font-size: 12px;
}

.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-control-bar,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-control-bar {
	background-color: rgba( 43, 51, 63, 0.7 );
	background-image: none;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-menu-button-popup .vjs-menu {
	margin-bottom: 2.1em;			
	font-size: 10px;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-menu-button-popup .vjs-menu ul {
	padding-bottom: 0.9em;
}

.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-menu-button-popup .vjs-menu ul,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-menu-button-popup .vjs-menu ul {
	padding-bottom: 0;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-progress-control {
	position: absolute;
	top: -2em;
	right: 0;
	left: 0;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-progress-control .vjs-time-tooltip {
	top: -3em;
}

.aiovg-player .video-js.vjs-theme-custom .vjs-volume-tooltip {
	top: -4.2em;
}

.aiovg-player .video-js.vjs-theme-custom.vjs-no-progress-control .vjs-volume-tooltip,
.aiovg-player .video-js.vjs-theme-custom.vjs-live:not(.vjs-liveui) .vjs-volume-tooltip {
	top: -3.4em;
}

/* GDPR Cookie Consent */
.aiovg-player .aiovg-privacy-wrapper { 
	position: absolute; 
	top: 0;
	left: 0;	
	margin: 0;
	background-color: #222;	
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0;
	width: 100%;
	height: 100%;	
}

.aiovg-player .aiovg-privacy-consent-block {
	box-sizing: border-box;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate3d( -50%, -50%, 0 );
	margin: 0;
	border-radius: 3px; 
	background-color: rgba( 0, 0, 0, 0.7 );  
	padding: 15px;
	width: 90%;
	max-width: 640px;
	height: auto;
	text-align: center;        
	color: #fff;
}

@media only screen and (max-width: 320px) {
	.aiovg-player .aiovg-privacy-consent-block {
		width: 100%;
		height: 100%;
	}
}

.aiovg-player .aiovg-privacy-consent-button {
	display: inline-block;
	margin-top: 10px;
	border: 0;
	border-radius: 3px;   
	box-shadow: none; 
	background: #e70808;
	cursor: pointer;
	padding: 7px 15px; 
	line-height: 1; 
	color: #fff;  
}

.aiovg-player .aiovg-privacy-consent-button:hover {
	opacity: 0.8;
}

/* Custom ContextMenu */
#aiovg-contextmenu {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999999999; /* make sure it shows on fullscreen */
	margin: 0;	
	border-radius: 2px;
	background: rgba( 0, 0, 0, 0.5 );
	padding: 0;
}

#aiovg-contextmenu .aiovg-contextmenu-content {
	margin: 0;
	cursor: pointer;
	padding: 8px 12px;		
	line-height: 1;		
	white-space: nowrap;
	color: #fff;
	font-family: Verdana, sans-serif;
    font-size: 11px;
}

/* Restrictions */
.aiovg-restrictions-wrapper { 
	display: flex;
	align-items: center; 
	justify-content: center;        
	margin: 0;
	background-color: #222;            
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 1.5;           
}

.aiovg-restrictions-wrapper * {
	color: #eee;
}

.aiovg-restrictions-message {
	width: 90%;
	max-width: 640px;
}