.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: 1.0em; background: #555; padding: .18em .32em; border-radius: .25em; margin-right: .35em; } .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; } }