mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 11:28:23 -07:00
472 lines
8.2 KiB
CSS
472 lines
8.2 KiB
CSS
.tvguide {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: initial;
|
|
}
|
|
|
|
.tvGuideHeader {
|
|
white-space: nowrap;
|
|
width: 100%;
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
padding-left: 3.4em;
|
|
}
|
|
|
|
.tvProgramSectionHeader {
|
|
margin: 0;
|
|
}
|
|
|
|
.tvProgram {
|
|
display: block;
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
}
|
|
|
|
.guideProgramIndicator {
|
|
text-transform: uppercase;
|
|
border-radius: 2px;
|
|
margin-right: .5em;
|
|
font-size: 74%;
|
|
padding: .2em .25em;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
color: #fff;
|
|
}
|
|
|
|
.channelTimeslotHeader {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.timeslotHeaders {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.programContainer {
|
|
white-space: nowrap;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.channelPrograms {
|
|
white-space: nowrap;
|
|
position: relative;
|
|
contain: strict;
|
|
}
|
|
|
|
.timeslotHeadersInner {
|
|
position: relative;
|
|
}
|
|
|
|
.currentTimeIndicatorBar {
|
|
position: absolute;
|
|
bottom: .05em;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 2px;
|
|
display: flex;
|
|
margin-left: .65vh;
|
|
background-color: #52B54B;
|
|
height: 2px;
|
|
transform-origin: left;
|
|
transition: transform 500ms ease-out;
|
|
}
|
|
|
|
.currentTimeIndicatorArrowContainer {
|
|
position: absolute;
|
|
bottom: -1.3vh;
|
|
width: 100%;
|
|
color: #52B54B;
|
|
margin-left: .65vh;
|
|
transform-origin: left;
|
|
transition: transform 500ms ease-out;
|
|
}
|
|
|
|
.layout-tv .currentTimeIndicatorBar, .layout-tv .currentTimeIndicatorArrowContainer {
|
|
/* Need to account for the scrollbar not being there */
|
|
left: 4px;
|
|
}
|
|
|
|
.currentTimeIndicatorArrow {
|
|
width: 4vh;
|
|
height: 4vh;
|
|
font-size: 4vh;
|
|
color: #52B54B;
|
|
margin-left: -2vh;
|
|
}
|
|
|
|
.channelPrograms, .timeslotHeadersInner {
|
|
width: 1800vw;
|
|
}
|
|
|
|
@media all and (min-width: 600px) {
|
|
|
|
.channelPrograms, .timeslotHeadersInner {
|
|
width: 1400vw;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
|
|
.channelPrograms, .timeslotHeadersInner {
|
|
width: 1200vw;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 1280px) {
|
|
|
|
.channelPrograms, .timeslotHeadersInner {
|
|
width: 660vw;
|
|
}
|
|
}
|
|
|
|
.timeslotHeader {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
text-indent: .35em;
|
|
}
|
|
|
|
.channelHeaderCell, .channelTimeslotHeader {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
border-right: 1px solid #121212;
|
|
width: 24vw;
|
|
background: rgba(40, 40, 40, .9);
|
|
display: flex;
|
|
align-items: center;
|
|
text-decoration: none;
|
|
/* Needed in firefox */
|
|
text-align: left;
|
|
contain: strict;
|
|
}
|
|
|
|
@media all and (min-width: 500px) {
|
|
|
|
.channelHeaderCell, .channelTimeslotHeader {
|
|
width: 16vw;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 600px) {
|
|
|
|
.channelHeaderCell, .channelTimeslotHeader {
|
|
width: 16vw;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
|
|
.channelHeaderCell, .channelTimeslotHeader {
|
|
width: 14vw;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 1280px) {
|
|
|
|
.channelHeaderCell, .channelTimeslotHeader {
|
|
width: 12vw;
|
|
}
|
|
}
|
|
|
|
.btnSelectDate {
|
|
padding-left: .5em;
|
|
text-transform: none;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.btnSelectDateContent {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.guideDateText {
|
|
font-size: 80%;
|
|
}
|
|
|
|
@media all and (min-width: 1600px) {
|
|
|
|
.guideDateText {
|
|
font-size: 92%;
|
|
}
|
|
}
|
|
|
|
.btnGuideViewSettings {
|
|
margin: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.btnGuideViewSettingsIcon {
|
|
font-size: 1.5em !important;
|
|
}
|
|
|
|
@media all and (max-width: 1280px) {
|
|
|
|
.btnGuideViewSettings {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.selectDateIcon {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.channelHeaderCell {
|
|
border-bottom: .65vh solid #121212 !important;
|
|
background-size: auto 70%;
|
|
background-position: 92% center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
@media all and (max-width: 800px) {
|
|
|
|
.newTvProgram, .liveTvProgram, .premiereTvProgram, .guideHdIcon {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 1200px) {
|
|
|
|
.guideChannelNumberWithImage {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.channelPrograms, .channelHeaderCell {
|
|
height: 4em;
|
|
contain: strict;
|
|
}
|
|
|
|
.channelPrograms {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.channelPrograms-tv, .channelHeaderCell-tv {
|
|
height: 3.2em;
|
|
}
|
|
|
|
.channelTimeslotHeader {
|
|
border-right-color: transparent;
|
|
}
|
|
|
|
.channelTimeslotHeader, .timeslotHeader {
|
|
background: transparent;
|
|
}
|
|
|
|
.timeslotHeader, .channelTimeslotHeader {
|
|
height: 3em;
|
|
}
|
|
|
|
.programGrid {
|
|
padding-bottom: 4px;
|
|
}
|
|
|
|
.timeslotHeader {
|
|
width: 2.0833333333333333333333333333333%;
|
|
}
|
|
|
|
.programCell {
|
|
position: absolute;
|
|
top: 0;
|
|
/* Unfortunately the borders using vh get rounded while the bottom property doesn't. So this is a little hack to try and make them even*/
|
|
bottom: .59vh;
|
|
border-left: .65vh solid #121212 !important;
|
|
background-color: rgba(32, 32, 32, .95);
|
|
display: flex;
|
|
text-decoration: none;
|
|
overflow: hidden;
|
|
align-items: center;
|
|
/* Needed for Firefox */
|
|
text-align: left;
|
|
contain: strict;
|
|
}
|
|
|
|
.programAccent {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 2px;
|
|
}
|
|
|
|
.sportsAccent {
|
|
background-color: #3949AB;
|
|
}
|
|
|
|
.movieAccent {
|
|
background-color: #5E35B1;
|
|
}
|
|
|
|
.childAccent {
|
|
background-color: #039BE5;
|
|
}
|
|
|
|
.newsAccent {
|
|
background-color: #43A047;
|
|
}
|
|
|
|
.specialsAccent {
|
|
background-color: #FB8C00;
|
|
}
|
|
|
|
.guideProgramName {
|
|
padding: 0 .5em 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
align-items: center;
|
|
/* Need block here or the ellipsis overflow is lost */
|
|
display: block;
|
|
}
|
|
|
|
.programIcon {
|
|
margin-left: auto;
|
|
margin-right: .25em;
|
|
height: auto;
|
|
width: auto;
|
|
font-size: 1.6em;
|
|
color: #ddd;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.programIcon + .programIcon {
|
|
margin-left: .25em;
|
|
}
|
|
|
|
.programTextIcon {
|
|
font-weight: bold;
|
|
color: rgb(30,30,30);
|
|
font-size: .9em;
|
|
background: #555;
|
|
padding: .18em .32em;
|
|
border-radius: .25em;
|
|
margin-right: .35em;
|
|
}
|
|
|
|
.programTextIcon-tv {
|
|
font-size: .7em;
|
|
}
|
|
|
|
.guideChannelNumber {
|
|
padding-left: 1em;
|
|
max-width: 30%;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.guideChannelName {
|
|
margin-left: auto;
|
|
margin-right: 1em;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
max-width: 70%;
|
|
}
|
|
|
|
@media all and (min-width: 1000px) {
|
|
|
|
.guideChannelName {
|
|
max-width: 40%;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 1000px) {
|
|
|
|
.guideChannelNumber {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.channelsContainer {
|
|
display: flex;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.btnCategories {
|
|
margin: 0 .3em 0 .5em !important;
|
|
padding: 0 !important;
|
|
flex-shrink: 0;
|
|
background: rgba(40, 40, 40, .9);
|
|
border-radius: 0 !important;
|
|
width: 2.6em;
|
|
font-weight: normal !important;
|
|
position: relative;
|
|
}
|
|
|
|
.btnCategoriesText {
|
|
transform: rotate(90deg);
|
|
text-transform: uppercase;
|
|
transform-origin: left;
|
|
margin-left: 1.2em;
|
|
letter-spacing: .25em;
|
|
position: absolute;
|
|
top: 0;
|
|
margin-top: 1em;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.channelList {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.channelList, .programGrid {
|
|
contain: layout style;
|
|
}
|
|
|
|
.programCell, .channelHeaderCell, .btnSelectDate {
|
|
outline: none !important;
|
|
}
|
|
|
|
.programCell:focus, .channelHeaderCell:focus, .btnSelectDate:focus {
|
|
background-color: #555;
|
|
}
|
|
|
|
.timerIcon, .seriesTimerIcon {
|
|
color: #cc3333 !important;
|
|
}
|
|
|
|
.seriesTimerIcon-inactive {
|
|
color: inherit !important;
|
|
opacity: .7;
|
|
}
|
|
|
|
.visibleGuideScroller::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
.visibleGuideScroller::-webkit-scrollbar-button:start:decrement,
|
|
.visibleGuideScroller::-webkit-scrollbar-button:end:increment {
|
|
display: none;
|
|
}
|
|
|
|
.visibleGuideScroller::-webkit-scrollbar-track-piece {
|
|
background-color: #3b3b3b;
|
|
}
|
|
|
|
.visibleGuideScroller::-webkit-scrollbar-thumb:vertical, .visibleGuideScroller::-webkit-scrollbar-thumb:horizontal {
|
|
-webkit-border-radius: 2px;
|
|
background: #888 no-repeat center;
|
|
}
|
|
|
|
.guideOptions {
|
|
color: #eee;
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
@media all and (max-width: 800px), all and (max-height: 600px) {
|
|
|
|
.tvGuideHeader {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.btnCategories {
|
|
display: none;
|
|
}
|
|
}
|