
.olymp-schedule,
.olymp-schedule-channel {
    width: 100%;
}

.schedule-dayheader {
    float: right;
}

.schedule-day-item {
    box-sizing: border-box;

}

.schedule-timezone.selected {
}

.schedule__list {

}

.schedule__list--inner-wrapper {
    width: 100%;
    overflow: auto;
    position: relative;
}

.schedule__broadcast-date {

}

.schedule-channel__logo {

}

.schedule-channel__logo img {
    height: auto;
    width: 65px;
}

h4.schedule-channel--title {
    margin-left: 33px;
    float: left;
    text-align: right;
}

.schedule-item--playing-status {
    position: absolute;
}

ul.schedule-channel li.schedule-item .schedule-item--timeslot {
    font-weight: 100;
}

.schedule__list--channel-button img {
    max-width: 70px;
}

/************************************/
/* Horizontal view */
/************************************/
.schedule__list.horizontal {

}

.schedule__buttons.horizontal {
    position: absolute;
    z-index: 1;
}

.schedule__buttons.horizontal a {
    display: block;
    background: #000;
    height: 101px;
    width: 200px;
    text-align: center;
    z-index: 1;
    padding: 18px;
    box-sizing: border-box;
    margin-bottom: 13px;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.schedule__list div.schedule_channel__strip {
    position: relative;
}

div.schedule-channel__logo.horizontal img {

}

ul.schedule-channel.horizontal {
    white-space: nowrap;
    margin: 0 0 9px 200px;
    padding-top: 1px;
    position: relative;
    z-index: 0;
}

ul.schedule-channel li.schedule-item.horizontal {
    display: inline-block;
    margin: 0;
    list-style-type: none;
    line-height: 13px;
    height: 99px;
    position: relative;
    overflow: hidden;
}

ul.schedule-channel li.schedule-item.horizontal .schedule-item__inner {
    padding: 9px;
    white-space: normal;
}

/* Horizontal layout width classes */
ul.schedule-channel li.schedule-item.horizontal.mins-before {
    display: none;
}

ul.schedule-channel li.schedule-buffer.horizontal.mins-before {
    display: inline-block;
}

li.horizontal.schedule-channel--logo img {
    width: 65px;
}

ul.schedule-channel li.schedule-item.horizontal:last-of-type {
}

ul.schedule-channel li.schedule-item.horizontal.schedule-item--hour {
    width: 300px;
}

ul.schedule-channel li.schedule-item.horizontal.schedule-item--half-hour {
    width: 150px;
}

ul.schedule-channel li.schedule-item.horizontal.schedule-item--quarter-hour {
    width: 75px;
}

/************************************/
/* vertical view */
/************************************/
div.schedule-channel__logo.vertical {
    min-height: 45px;
    margin-left: 18px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    padding: 9px;
}

.schedule_channel__strip.vertical {
    display: none;
    float: left;
    /*margin-right: 9px;*/
    /*height: 600px;*/
    /*overflow: auto;*/
    width: 100%;
    margin-bottom: 45px;
}

ul.schedule-channel li.schedule-item.vertical {
    list-style-type: none;
    width: 100% !important; /*Overrides dynamic widths from horizontal view*/
    padding-bottom: 24px;
    min-height: 45px;
}

ul.schedule-channel li.schedule-item.vertical:first-of-type {
    overflow: hidden;
}

.schedule__buttons.vertical {
    margin-bottom: 18px;
    padding-left: 18px;
}

.schedule__list--channel-button.vertical {
    display: inline-block;
    max-width: 150px;
    border-radius: 3px;
    margin-right: 6px;
    padding: 9px;
    line-height: 28px;
}

.schedule__list--channel-button.vertical:hover {
    opacity: 0.5;
}

.olymp-schedule-channel.vertical .schedule__broadcast-date {
    display: none;
}

.olymp-schedule .schedule-channel.vertical .schedule-day-item.sticky,
.olymp-schedule-channel.vertical .schedule__broadcast-date.sticky {
    position: fixed;
    top: 0;
    z-index: 1;
}

.admin-bar .olymp-schedule .schedule-channel.vertical .schedule-day-item.sticky,
.admin-bar .olymp-schedule-channel.vertical .schedule__broadcast-date.sticky {
    top: 24px;
}

.schedule-title--title,
.schedule-title--hr {
    margin: 0 0 4px 0;
    padding: 0;
}

.schedule-title--descrip {
    margin-top: 10px;
    font-size: 1.2em;
    max-height: 265px;
    overflow-y: auto;
    clear: left;
}

/* Show context menu cursor when tooltip is available */
@media (min-width: 768px) {
    #page-content .schedule-item a:hover {
        cursor: context-menu;
    }
}

@media (max-width: 767px) {
    .admin-bar .olymp-schedule .schedule-channel.vertical .schedule-day-item.sticky,
    .admin-bar .olymp-schedule-channel.vertical .schedule__broadcast-date.sticky {
        top: 46px;
    }
}

@media (max-width: 600px) {
    .admin-bar .olymp-schedule .schedule-channel.vertical .schedule-day-item.sticky,
    .admin-bar .olymp-schedule-channel.vertical .schedule__broadcast-date.sticky {
        top: 0;
    }

    .schedule__buttons.horizontal {
        max-width: 110px;
    }

    .schedule__buttons.horizontal a {
        max-width: 110px;
    }

    .schedule__buttons.horizontal a img {
        max-width: 80px !important;
    }

}

.schedule__broadcast-date,
.schedule-datepicker {
    cursor: pointer;
}

.schedule-datepicker-placeholder {
    display: none;
}

.schedule-error {
    color: red;
    border: 1px solid red;
    text-align: center;
    background-color: lightyellow;
    padding: 10px;
    list-style: none;
}

.schedule-ajax-loader-li {
    list-style: none;
}

.schedule-ajax-loader {
    margin: 0 auto;
    display: block;
}

.vertical-schedule-load-more {
    text-align: center;
}

.animatedLoader {
    margin: 20px auto;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    animation: olympScheduleLoaderSpin 2s linear infinite;
}

@keyframes olympScheduleLoaderSpin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}