/* Program Guide v1 */
.guide {
    overflow: hidden;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    position: relative;
}

.guide-wrapper {
    width: 100%;
    overflow-x: scroll;
    overflow-y: auto;
    border-left: 10rem solid #333331;
    margin-right: 10rem;
}


.guide-wrapper::-webkit-scrollbar{
    background-color: #333331;
    width: 20px;
}

.guide-wrapper::-webkit-scrollbar-thumb{
    background-color: white;
    border-radius: 4px;
    border: 1px solid #555552;
}

.program {
    width: 100%;
    border-collapse: separate;
    empty-cells: show;
    border-spacing: 0;
    margin: auto 8rem auto auto;
}

.program thead th {
    background-color: #333331;
    height: 3rem;
}

.program .brd,
.program thead th.week {
    border-right: 1px solid white;
}

.program thead th.week:last-child {
    border-right: none;
}

.program thead th.channel {
    width: 10rem;
    vertical-align: bottom;
    padding: 0.75rem 1em 0rem 1rem;
    border-right: 1px solid white;
}

.program thead th.day {
    min-width: 12rem;
    text-align: center;
}

.program tbody td {
    background-color: #e0e0e0;
    border-bottom: 1px solid white;
    border-right: 1px solid white;
}

.program tbody td.channel {
    background-color: #333331;
    padding: 0em;
    border-bottom: 1px solid white;
    text-align: center;
    font-weight: bold;
}

.program tbody td.channel:first-child {
    border-top: 1px solid white;
}

.program tbody tr {
    height: 7rem;
}

.program .channel {
    position: absolute;
    top: auto;
    left: 0;
    width: 10rem;
}

.track {
    background-color: #7a7a75;
    vertical-align: top;
}

.track .item {
    padding: 0;
    border-bottom: 1px solid white;
    max-height: 7rem;
    min-height: 7rem;
    height: 7rem;
    overflow: hidden;
    background: repeating-linear-gradient(
            45deg,
            #E7AC09,
            #E7AC09 10px,
            #e7bf52 10px,
            #e7bf52 20px
    );

    display: flex;
    flex-direction: column;
}

.track .item.video {
    background: repeating-linear-gradient(
            45deg,
            #7cb709,
            #7cb709 10px,
            #afc752 10px,
            #afc752 20px
    );
}

.track .item.free {
    background: repeating-linear-gradient(
            45deg,
            #8f4cab,
            #8f4cab 10px,
            #bf7ccb 10px,
            #bf7ccb 20px
    );
}


.track .item .description {
    font-size: 75%;
    margin-bottom: 4px;
    font-style: italic;
    color: #333331;
    line-height: 1.5;
    max-height: 1.75rem;
}

.track h2 {
    font-size: 10pt;
    text-align: center;
    margin: 0 0 0.3em;
    color: #333331;
    font-weight: bold;
    padding: 0.5rem 0.25rem 0.25rem;
}

.track .time {
    color: white;
    font-size: 0.75em;
    font-weight: 300;
    line-height: 1.2em;
    text-align: left;
}

.track .time .icon {
    float: left;
    margin-right: 0.25rem;
    padding-top: 0.125rem;
}

.item-header {
    flex-grow: 0;
}

.item .item-header {
    background-color: #E7AC09;
}

.item.video .item-header {
    background-color: #7cb709;
}

.item.free .item-header {
    background-color: #8f4cab;
}

.item.free .item-header h2 {
    color: white;
}

.item.free .item-body .description {
    color: white;
}

.item-body {
    flex-grow: 2;
    padding: 0.125rem 0.25rem 0.25rem 0.25rem;
}

.item-footer {
    display: flex;
    flex-grow: 0;
    flex-direction: row;
    justify-content: space-between;
    padding: 0.25rem;
    background-color: rgba(33,33,33,0.5);
}

.item-footer .link {
    padding-top: 0.125rem;
    padding-right: 0.25rem;
}

.item-footer .link .fa {
    font-size: 150%;
}

p.legend {
    margin-top: 1rem;
    margin-bottom: 2rem;
}






/* Program Guide v2 */
.programguide h2 {
    font-size: 3rem;
    font-weight: bold;
}

.tv-item {
    padding: 1.2em 1em;
    margin: 0 0 1.5em;
    background: rgba(29,29,27,0.9);
    box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    color: white;
}

.tv-item:after {
    content: "";
    clear: both;
}

.tv-item .date {
    float: left;
    width: 4.6em;
    text-align: center;
    margin-right: 1em;
}

.tv-item .date .month {
    color: #E7AC09;
    text-transform: uppercase;
    font-size: 1.125em;
    margin: 0.13888888888889em 0;
}

.tv-item .date .day {
    font-weight: 700;
    font-size: 2.25em;
    line-height: 1em;
}

.tv-item .info {
    float: left;
    width: calc(100% - 5.6em);
}

.tv-item .info .title {
    font-size: 1.125em;
    font-weight: 700;
    line-height: 1.5em;
    display: inline;
}

.tv-item .info .subtitle {
    font-size: 1em;
    line-height: 1.575em;
    display: inline;
    white-space: nowrap;
    font-style: italic;
}

.tv-item .info .duration {
    font-size: 0.875em;
    line-height: 1.2em;
    margin-bottom: 0.35em;
}

.tv-item .info .description {
    font-style: italic;
    color: lightgray;
    margin-bottom: 0.35em;
}

.tv-item .info .channel {
    color: #E7AC09;
    font-size: 0.75em;
    font-weight: 300;
    line-height: 1.2em;
}

.videoplayer iframe,
.videoplayer object,
.videoplayer embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* Videoplayer */
.videoplayer {
    position: relative;
    overflow: hidden;
    max-width: 1200px;
    background: transparent;
    margin: 0 auto 1rem;
    padding-bottom: 61.66666667%;
}

@media (min-width: 767px) {
    .videoplayer {
        padding-bottom: 41.66666667%;
    }
}

.videoplayer iframe,
.videoplayer object,
.videoplayer embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.videocanvas h2 small {
    font-size: 1.25rem;
    font-style: italic;
}

.videocanvas {
    padding-top: 1rem;
    background-color: #111;
}

.videocanvas .toolbar {
    margin-top: 2rem;
}

.videocanvas h2 {
   color: #ddd;
}

/* Video Library */
.videolibrary {
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.accordion-item {
    border: 1px solid #333331;
    margin-bottom: 0.5rem;
}

.accordion-body .accordion-header {
    margin-left: 15px;
}

.accordion-body .accordion-body .accordion-header {
    margin-left: 30px;
}

.accordion-body .accordion-body .accordion-content {
    padding-left: 30px;
}

.accordion-item .accordion-item {
    border: none;
}

.accordion * {
    transition: all 250ms ease-in-out;
}

.accordion-header {
    align-items: center;
    display: flex;

    cursor: pointer;
    padding: 16px;
    background-color: #333331;
}

.accordion-header .accordion-title {
    flex: 1;
    font-size: 14pt;
    color: white;
}

.accordion-title small {
    color: #E7AC09;
}

.accordion-header .accordion-icon {
    color: #E7AC09;
    margin-right: 12px;
}

.opened > .accordion-header .accordion-icon {
    transform: rotate(90deg);
}

.accordion-content {
    padding: 0 16px;
}

.accordion-body {
    overflow: hidden;
    -webkit-transition: max-height 0.25s;
    transition: max-height 0.25s;
}

.accordion-item.closed > .accordion-body {
    /* For not selected item */
    max-height: 0;
}

.accordion-item.opened > .accordion-body {
    /* For selected item */
    max-height: inherit;
}

.accordion-item .tv-item:first-child {
    margin-top: 16px;
}

.tv-item {
    display: flex;
    flex-direction: row;
}

.tv-item .link .fa {
    font-size: 150%;
    margin-top: 0.25rem;
    color: #E7AC09;
}

.tv-item .time {
    color: #E7AC09;
}

.tv-item .time .time {
    color: white;
}

.accordion-body .accordion-item {
    margin-top: 5px;
}


