jellyfin-web/dashboard-ui/css/mediaplayer.css
Tim Hobbs 96e64c4f1f Video player fixes
Mobile playback fixed - video no longer hidden by default and unhidden
on playing
Footer notifications fixed
2014-03-17 15:37:05 -07:00

601 lines
11 KiB
CSS

/* Now playing bar */
.nowPlayingBar {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.nowPlayingBar .barBackground {
border-top: 2px solid green;
position: absolute;
width: 100%;
height: 100%;
}
#videoPlayer.fullscreenVideo .nowPlayingBar {
opacity: 0.5;
-webkit-transition: top 0.6s ease-in-out;
-moz-transition: top 0.6s ease-in-out;
-o-transition: top 0.6s ease-in-out;
transition: top 0.6s ease-in-out;
top: 100%;
height: 100%;
}
#videoPlayer.fullscreenVideo:hover .nowPlayingBar {
top: 95% !important;
}
.nowPlayingBar > *:not(#mediaElement):not(.mediaFlyoutContainer):not(.barBackground ) {
position: relative;
}
.nowPlayingBarImage {
vertical-align: bottom;
}
.mediaButton {
vertical-align: top;
}
#mediaElement {
display: inline-block;
position: relative;
}
.fullscreenVideo #mediaElement {
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.nowPlayingMediaInfo div {
display: inline-block;
}
.nowPlayingMediaInfo a {
margin-right: .25em;
}
.nowPlayingMediaInfo {
position: relative;
display: inline-block;
margin-top: 3px;
vertical-align: top;
}
.nowPlayingText {
position: relative;
margin: 0 2em 0 5px;
font-weight: normal;
top: -7px;
}
@media all and (max-width: 650px) {
.nowPlayingMediaInfo {
display: none;
}
}
.mediaButton img {
height: 24px;
}
.itemVideo {
z-index: 99998;
background: #000;
width: 320px;
margin: 20px;
position: fixed;
top: 50%;
left: 50%;
margin-left: -160px;
margin-top: -90px;
}
.fullscreenVideo {
position: fixed;
top: 0 !important;
bottom: 0 !important;
right: 0 !important;
left: 0 !important;
width: 100%;
height: 100%;
border: 0;
z-index: 99996;
margin: 0 !important;
}
#videoBackdrop {
z-index: 99990;
position: fixed;
background-color: transparent;
background-color: rgba(0, 0, 0, 0.6);
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#videoPlayer {
z-index: 99997;
background: #1d1d1d;
position: fixed;
border: 1px solid #333;
top: 50%;
left: 50%;
margin-left: -170px;
margin-top: -115px;
}
#videoPlayer.aspect43 {
margin-top: -163px;
}
#videoPlayer.fullscreenVideo,
.fullscreenVideo .itemVideo {
position: fixed !important;
top: 0 !important;
bottom: 0 !important;
right: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
border: 0 !important;
margin: 0 !important;
}
.fullscreenVideo .itemVideo {
z-index: 99996;
}
#videoPlayer .itemVideo {
position: static;
margin: 0;
margin: 20px 20px 60px;
}
#videoPlayer .nowPlayingBar {
z-index: 99999;
padding: 0;
height: 50px;
background-color: #1d1d1d;
position: absolute;
top: initial;
right: 0;
bottom: 0;
left: 0;
}
#videoPlayer .nowPlayingBar .barBackground {
border-width: 0;
}
#videoPlayer.fullscreenVideo .nowPlayingBar .barBackground {
border-width: 2px;
}
.currentTime {
display: inline-block;
position: relative;
top: -10px;
max-width: 110px;
margin-right: 2em;
font-size: 14px;
font-weight: normal;
}
.mediaSlider {
position: relative;
top: -10px;
width: 50px;
cursor: pointer;
}
.sliderContainer {
display: inline-block;
margin-top: 10px;
}
.positionSliderContainer {
width: 130px;
}
.volumeSliderContainer {
width: 90px;
}
.sliderContainer .ui-slider {
margin: 0 !important;
}
.sliderContainer .ui-slider-track {
margin-left: 15px !important;
}
.highPosition .ui-slider-track {
z-index: 100000;
}
.volumeSliderContainer .ui-slider-track {
margin-left: 5px !important;
}
.volumeButton {
margin-right: .5em!important;
}
::-ms-thumb {
background-image: linear-gradient(#fefefe,#dddddd);
width: 15px;
}
::-ms-track {
padding: 0;
border: 0;
color: #777;
}
input[type="range"]::-ms-fill-lower {
background-color: #777;
}
input[type="range"]::-ms-fill-upper {
background-color: #777;
}
::-ms-tooltip {
display: none; /* display and visibility only */
}
@media all and (max-width: 1200px) {
.volumeSliderContainer, .sendMediaButton {
display: none!important;
}
}
@media all and (max-width: 960px) {
.volumeSliderContainer, .audioTracksButton, .chaptersButton, .sendMediaButton {
display: none!important;
}
}
@media all and (max-width: 800px) {
.volumeButton, .volumeSliderContainer, .muteButton, .unmuteButton, .nowPlayingMediaInfo, .sendMediaButton {
display: none!important;
}
}
@media all and (max-width: 640px) {
.positionSliderContainer {
width: 80px;
}
.chaptersButton, .audioTracksButton, .qualityButton, .subtitleButton {
display: none!important;
}
.positionSliderContainer {
top: 0!important;
position: relative!important;
}
}
@media all and (max-width: 500px) {
.previousTrackButton, .nextTrackButton {
display: none!important;
}
}
@media all and (max-width: 400px) {
.playlistButton {
display: none!important;
}
}
.mediaFlyoutContainer {
display: inline-block;
}
.mediaPlayerFlyout {
width: 200px;
color: #000;
background-color: #fff;
border: 1px solid #999;
position: absolute;
z-index: 99999;
bottom: 64px;
margin-left: -50px;
max-height: 300px;
overflow-y: auto;
font-size: 13px;
}
.fullscreenVideo .mediaPlayerFlyout {
-webkit-transition: top 0.6s ease-in-out;
-moz-transition: top 0.6s ease-in-out;
-o-transition: top 0.6s ease-in-out;
transition: top 0.6s ease-in-out;
top: 100%;
bottom: 100%;
}
#videoPlayer.fullscreenVideo:hover .mediaPlayerFlyout {
-webkit-transition: top 0.6s ease-out;
-moz-transition: top 0.6s ease-out;
-o-transition: top 0.6s ease-out;
transition: top 0.6s ease-out;
top: -303px !important;
bottom: -3px !important;
ss}
.chaptersFlyout {
width: 250px;
}
.audioTracksFlyout {
width: 250px;
}
.mediaFlyoutOption {
display: block;
text-decoration: none;
color: #000;
border-bottom: 1px solid #eee;
cursor: pointer;
}
.mediaFlyoutOption:hover, .mediaFlyoutOption:focus {
background-color: #eee;
}
.selectedMediaFlyoutOption {
background-color: #d9F4FF;
background-image: url(images/media/selected.png);
background-repeat: no-repeat;
background-position: right top;
background-size: 16px 16px;
}
.mediaFlyoutOptionImage {
display: inline-block;
width: 15%;
vertical-align: middle;
}
.mediaFlyoutOptionImage + .mediaFlyoutOptionContent {
vertical-align: top;
display: inline-block;
width: 85%;
}
.chaptersFlyout .mediaFlyoutOptionImage {
width: 40%;
}
.chaptersFlyout .mediaFlyoutOptionImage + .mediaFlyoutOptionContent {
width: 60%;
}
.mediaFlyoutOptionName {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
padding-left: 5px;
font-size: 13px;
font-weight: normal;
}
.mediaFlyoutOptionSecondaryText {
font-size: 13px;
color: #333;
font-weight: normal;
margin-top: 3px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
padding-left: 5px;
}
@media (min-width: 640px) and (min-height: 360px) {
.itemVideo:not(.fullscreenVideo) {
width: 480px;
margin-left: -240px;
margin-top: -135px;
}
#videoPlayer {
margin-left: -250px;
margin-top: -160px;
}
.aspect43 .itemVideo:not(.fullscreenVideo) {
width: 440px;
margin-left: -220px;
}
#videoPlayer.aspect43 {
margin-left: -230px;
margin-top: -208px;
}
}
@media (min-width: 800px) and (min-height: 450px) {
.itemVideo:not(.fullscreenVideo) {
width: 640px;
margin-left: -320px;
margin-top: -180px;
}
#videoPlayer {
margin-left: -330px;
margin-top: -205px;
}
.aspect43 .itemVideo:not(.fullscreenVideo) {
width: 560px;
margin-left: -280px;
}
#videoPlayer.aspect43 {
margin-left: -290px;
margin-top: -253px;
}
}
@media (min-width: 960px) and (min-height: 540px) {
.itemVideo:not(.fullscreenVideo) {
width: 720px;
margin-left: -360px;
margin-top: -203px;
}
#videoPlayer {
margin-left: -370px;
margin-top: -228px;
}
.aspect43 .itemVideo:not(.fullscreenVideo) {
width: 640px;
margin-left: -320px;
}
#videoPlayer.aspect43 {
margin-left: -330px;
margin-top: -283px;
}
}
@media (min-width: 1200px) and (min-height: 720px) {
.itemVideo:not(.fullscreenVideo) {
width: 1080px;
margin-left: -540px;
margin-top: -304px;
}
#videoPlayer {
margin-left: -550px;
margin-top: -329px;
}
.aspect43 .itemVideo:not(.fullscreenVideo) {
width: 900px;
margin-left: -450px;
}
#videoPlayer.aspect43 {
margin-left: -460px;
margin-top: -380px;
}
}
@media (min-width: 1440px) and (min-height: 720px) {
.itemVideo:not(.fullscreenVideo) {
width: 1080px;
margin-left: -540px;
margin-top: -304px;
}
#videoPlayer {
margin-left: -550px;
margin-top: -329px;
}
.positionSliderContainer {
width: 300px;
}
.aspect43 .itemVideo:not(.fullscreenVideo) {
width: 900px;
margin-left: -450px;
}
#videoPlayer.aspect43 {
margin-left: -460px;
margin-top: -380px;
}
}
.status {
position: absolute;
top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -75px;
width: 150px;
height: 150px;
z-index: 99999;
}
#play {
background-image: url(images/media/play.png);
opacity: 0;
display: none;
}
#pause {
background-image: url(images/media/pause.png);
opacity: 0;
display: none;
}
.fadeOut {
animation-name: fadeOut;
-webkit-animation-name: fadeOut;
animation-duration: .25s;
-webkit-animation-duration: .25s;
animation-timing-function: ease-in-out;
-webkit-animation-timing-function: ease-in-out;
visibility: visible !important;
}
@keyframes fadeOut {
0% {
transform: scale(.25);
opacity: 0.7;
}
60% {
transform: scale(.5);
opacity: 0.5;
}
80% {
transform: scale(.75);
opacity: 0.3;
}
100% {
transform: scale(1);
opacity: 0;
}
}
@-webkit-keyframes fadeOut {
0% {
-webkit-transform: scale(.25);
opacity: 0.7;
}
60% {
-webkit-transform: scale(.5);
opacity: 0.5;
}
80% {
-webkit-transform: scale(.75);
opacity: 0.3;
}
100% {
-webkit-transform: scale(1);
opacity: 0;
}
}