.program__item>* {
    box-sizing: border-box
}

.panel {
    height: 100%
}

.program__panel {
    width: 100%;
    height: 100%;
    min-height: 60px
}

.program__panel:before {
    height: 65px;
    width: 150vw;
    background: #fecc2f;
    content: " ";
    position: absolute;
    left: -50vw;
    top: auto;
    z-index: 1
}

.panel__head {
    margin: 0 auto;
    max-width: 950px;
    width: 100%;
    height: 60px;
    background: #fecc2f
}

.program__grid,
.program__head {
    height: 100%;
    width: 100%;
    margin: 0 auto;
    z-index: 2;
    position: relative
}

.scroll-active .program__panel {
    padding-top: 40px;
}

.scroll-active .program__head {
    position: fixed;
    top:0;
    left:0;
    -webkit-animation-name: program-slidein;
            animation-name: program-slidein;
    -webkit-animation-duration: 0.55s;
            animation-duration: 0.55s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
}
@-webkit-keyframes program-slidein {
    from {top: -80px;}
    to {top: 0px;}
}
@keyframes program-slidein {
    from {top: -80px;}
    to {top: 0px;}
}
.scroll-active .scotch-panel-canvas {
    transform: none !important;
}

.program__head {
    padding: 20px 0 0;
    height: 45px;
    white-space: nowrap;
    width: 200vw;
    z-index: 999;
}

.program__item {
    width: 50%
}

.program__head .program__item {
    display: inline-block
}

.program__head .item--left {
    width: 76%;
    max-width: 720px
}

.program__head .item--right {
    width: calc(23.6% - 230px);
    max-width: 330px
}

.program__grid {
    position: absolute;
    width: 200vw;
    height: 100%
}

.program__grid.program--closed {
    height: 0
}

.program__grid .item--left {
    background: #fff;
    width: 76%;
    max-width: 720px;
    position: relative
}

.program__grid:before {
    height: 100vh;
    width: 50vw;
    background: #fff;
    content: " ";
    position: absolute;
    left: -50vw;
    top: 0;
    z-index: 1
}

.program__grid .item--right {
    background: #000;
    width: calc(50vw - 950px / 3.77)
}

.program__grid .program__item {
    height: calc(100vh - 300px);
    color: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    display: inline-block;
    vertical-align: top;
    float: left
}

.program__grid .program__item table:first-of-type {
    margin-top: 20px
}

.program__grid .program__item article:first-of-type {
    margin-top: 25px
}

.program__grid.program--closed .program__item,
.program__grid.program--closed:before {
    height: 0;
    padding-top: 0
}

.program__grid table {
    width: 95%;
    border-collapse: collapse;
    margin: 0 10px 35px 15px
}

.program__grid th {
    color: #fecc2f;
    font-weight: 600;
    text-align: left;
    padding-bottom: 10px
}

.program__grid tr>td {
    font-size: 14px;
    line-height: 21px;
    font-weight: 400
}

.program__grid tr>td:first-of-type {
    padding-right: 15px;
    width: 40px
}

.program__grid tr>td:nth-child(2) {
    width: calc(100% - 50px);
    word-break: break-all;
    hyphens: auto
}

.program__grid tr>td a {
    color: inherit;
    text-decoration: underline
}

.program__head h2 {
    font-size: 20px;
    line-height: 20px;
    display: inline-block;
    margin: 2px 0 0 5px;
    float: left;
    cursor: pointer
}

.program__article {
    width: 98%;
    max-width: 480px;
    position: relative
}

.article__hidden {
    display: none;
    padding-bottom: 50px
}

.article__head {
    border-top: 4px solid #000;
    padding: 5px 0 0;
    margin: 0 0 45px;
    cursor: pointer;
    width: 100%
}

.program__article h3 {
    font-size: 23px;
    line-height: 30px;
    font-weight: 600;
    letter-spacing: -.025em
}

.program__article h3 span {
    font-size: 20px;
    line-height: 25px;
    font-weight: 400;
    display: block
}

.program__article h4 {
    font-size: 17px;
    line-height: 25px;
    font-weight: 600;
    border-top: 1px solid #000;
    padding: 8px 0 20px;
    margin: 35px 0 0;
    color: #000;
    cursor: pointer;
    letter-spacing: -.025em
}

.article__hidden+h4 {
    margin: 20px 0 0
}

.program__article p {
    font-size: 16px;
    line-height: 24px;
    color: #000
}

.program__article li,
.program__article .article__half h5,
.program__article .article__half p {
    font-size: 16px;
    line-height: 20px;
    color: #000
}

.program__article ul {
    padding: 0 0 15px
}

.program__article li a {
    text-decoration: underline
}

.program__article li a:before {
    content: "|";
    display: inline-block;
    padding: 0 10px 0 5px
}

.program__article a {
    color: inherit;
    text-decoration: none
}

.program__article a:hover {
    text-decoration: underline
}

.program__article .full-img {
    padding-bottom: 10px;
    width: 100%;
    height: auto
}

.program__article h3 span {
    font-weight: 400
}

.article__btn {
    background: #fff url(program_arrows.png) no-repeat 2px 0;
    background-size: 300%;
    height: 25px;
    width: 25px;
    border: 0;
    position: absolute;
    top: 12px;
    right: 0;
    cursor: pointer
}

.program__btn {
    border: 0;
    background: transparent
}

.article__btn.btn--close {
    background: transparent url(program_arrows.png) no-repeat -53px 0;
    background-size: 300%
}

.program__btn.btn--program {
    float: right
}

.program__btn.btn--program i {
    background: transparent url(program_arrows.png) no-repeat 2px -5px;
    background-size: 300%;
    height: 30px;
    width: 30px;
    border: 0;
    cursor: pointer;
    display: block;
    transition: background .2s ease-in-out
}

.program__btn.btn--close i {
    background: transparent url(program_arrows.png) no-repeat -29px 2px;
    background-size: 300%;
    height: 30px;
    width: 30px;
    border: 0;
    cursor: pointer;
    display: block;
    transition: background .2s ease-in-out
}

.program__btn.btn--time i {
    background: transparent url(program_icons.svg) no-repeat 4px 3px;
    background-size: 200%;
    height: 30px;
    width: 30px;
    border: 0;
    cursor: pointer;
    float: right
}

.program__btn.btn--time,
.program__btn.btn--film {
    display: none
}

.program__btn.btn--film i {
    background: transparent url(program_icons.svg) no-repeat -32px 3px;
    background-size: 200%;
    height: 30px;
    width: 30px;
    border: 0;
    cursor: pointer;
    float: right
}

.article__film {
    padding: 15px 0 0
}

.article__film h5 {
    font-weight: 600
}

.article__half {
    width: 44%;
    float: left
}

.noScroll {
    overflow: hidden;
    height: 100%;
    position: fixed
}

.article__film img,
.article__film img.placeholder {
    width: 50%;
    min-height: 85px;
    height: auto;
    float: left;
    margin-right: 15px;
    background: #ccc;
}
.article__film img.placeholder {
    min-height: 185px;
}
.program__panel:after,
.article__film:after,
.program__article:after {
    content: "";
    display: table;
    clear: both
}

@media screen and (max-width: 1150px) and (min-width: 721px) {
    #wrapper,
    nav.main {
        width: 700px !important;
        max-width: inherit
    }
    .program__head .item--left,
    .program__grid .item--left {
        width: 66%
    }
    .program__grid .item--left {
        max-width: 470px
    }
    .program__grid .item--right {
        width: calc(50vw - 700px / 5.5)
    }
    .program__head .item--right {
        width: 16%
    }
    .program__grid table {
        width: 95%
    }
    .program__head .item--left {
        width: 460px
    }
    .program__article {
        width: 99%;
        max-width: 450px
    }
    .program__head h2 {
        margin: 2px 0 0 20px
    }
    .slick-dots {
        width: 486px
    }
}

@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:portrait) {
    .program__grid .item--right {
        width: calc(50vw - 700px / 5.9)
    }
    .program__grid .item--left article:last-of-type,
    .program__grid .item--right table:last-of-type {
        margin-bottom: 5vh
    }
}

@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:landscape) {
    .program__grid .item--right {
        width: calc(50vw - 700px / 5.9)
    }
    .program__grid .item--left article:last-of-type,
    .program__grid .item--right table:last-of-type {
        margin-bottom: 5vh
    }
}

@media screen and (max-width: 720px) {
    .mobilearrowleft {
        background: url(hamburger.png) no-repeat;
        height: 49px;
        width: 35px;
        display: inline-block;
        position: relative;
        left: 0;
        top: 0;
        z-index: 999999;
        background-size: 100%;
        background-position: center center;
        margin-left: 0;
        margin-top: 0
    }
    h1.logotypemobile {
        background: url(logotype.png) no-repeat;
        background-size: 314px 49px;
        display: block;
        text-indent: -9999px;
        width: 314px;
        height: 49px;
        position: absolute;
        top: 0;
        left: 75px
    }
    .mobilepanel {
        display: block !important;
        background-color: transparent !important;
        margin-top: 0;
        margin-bottom: 25px;
        height: 59px
    }
    header {
        display: none !important;
        position: absolute;
        width: 100vw;
        left: 75px
    }
    #wrapper {
        width: 100% !important;
        min-width: 300px
    }
    .panel {
        width: 100%
    }
    .program__panel {
        min-height: 40px
    }
    .program__head {
        padding: 0;
        width: 100%
    }
    .program__btn {
        border-left: 2px solid #000 !important;
        padding: 0 10px;
        height: 100% !important;
        float: right
    }
    .program__btn.active,
    .program__btn.btn--film:hover,
    .program__btn.btn--time:hover {
        background: #a78b1a
    }
    .program__btn.btn--film,
    .program__btn.btn--time{
        display: inline-block
    }
    .program__btn.btn--program.btn--close i {
        background: transparent url(program_arrows.png) no-repeat -19px 5px;
        background-size: 230%;
    }
    .program__btn.btn--program i {
        background: transparent url(program_arrows.png) no-repeat 7px 1px;
        background-size: 230%;
    }
    .program__head h2 {
        margin: 10px 0 0 10px
    }
    .program__head .program__item.item--left {
        display: none
    }
    .program__head .item--right {
        width: 100%;
        height: 100%;
        max-width: 100%
    }
    .program__article {
        width: auto;
        max-width: inherit;
        padding: 0 10px
    }
    .program__grid {
        width: 100%
    }
    .program__grid .program__item {
        width: 100%
    }
    .program__grid .item--left,
    .program__grid .item--right {
        height: 0;
        padding: 0
    }
    .program__grid .item--left.active,
    .program__grid .item--right.active {
        height: 100%;
        padding: 10px 0 0
    }
    .program__panel:before {
        height: 45px
    }
    .program__grid table {
        margin: 0 10px 35px;
        width: 94%
    }
    .program__grid tr>td {
        font-size: 13px;
        line-height: 20px
    }
    .article__head {
        margin: 0 0 30px
    }
    .program__article h3 {
        margin: 0;
        font-size: 20px;
        line-height: 26px
    }
    .program__article h3 span {
        font-size: 18px;
        line-height: 23px;
    }
    .article__btn {
        top: 7px;
        right: 10px;
        background-size: 270%;
    }
    .program__article p {
        font-size: 15px;
        line-height: 20px
    }
    .article__film img,
    .article__film img.placeholder {
        margin-right: 10px;
    }
    .article__film img.placeholder {
        max-height: 100px;
    }
    .program__article h4 {
        font-size: 17px;
        line-height: 22px
    }
    .article__hidden+h4 {
        margin: 10px 0 0 0;
    }
    .article__hidden {
        padding-bottom: 30px;
    }
    .program__head h2 {
        font-size: 17px;
        padding-right: 0px;
        line-height: 24px
    }
    .noScroll {
        overflow: hidden;
        height: auto;
        position: relative
    }
}

@media screen and (max-device-width: 499px) {
    .program__btn:hover {
        background: none
    }
    .program__btn.active:hover {
        background: #a78b1a
    }
}

@media screen and (max-width: 499px) {
    div.scotch-panel-wrapper {
        overflow: hidden !important
    }
    .mCSB_draggerContainer {
        display: none !important
    }
    .mCSB_inside>.mCSB_container {
        margin-right: 0
    }
    .program__head {
        background: #fecc2f
    }
    .program__panel:before {
        width: 0;
        height: 0;
        content: none
    }
    .program__grid .program__item.item--right {
        width: 101%
    }
    .article__half {
        width: 55%
    }
    .article__film img,
    .article__film img.placeholder {
        width: 40%
    }
    h1.logotypemobile {
        margin-top: 0;
        margin-left: 0;
        background-size: 210px 33px;
        width: 210px;
        height: 33px;
        left: 55px
    }
    .mobilearrowleft {
        height: 33px;
        width: 25px
    }
    .mobilepanel {
        display: block !important;
        background-color: transparent !important;
        margin-top: 0;
        margin-bottom: 25px;
        height: 33px
    }
}