
/*
 * Make sure to keep all rules with the same values synced when changing them.
 */
@media only screen and (max-width: 1023px) {
    .nav-theaterlandschaft {
        display: none !important;
    }
    #speed {
        position: absolute;
        top:0;
        right:50px;
        z-index:999999;
    }

    /* mahagonny festival */
    .kalender-overview .page-kalender #special-button {
        /*        display: none;*/
    }

    /*    .page-kalender #special-button {
            display: block;
            position: absolute;
            right: 57px;
            top: 42px;
            width: 64px;
            height: 64px;
            background-image: url('../../media/images/teaser_buttons/4TageTanz_64px.png');
            background-repeat: no-repeat;
            z-index: 9999999;
        }*/

    #layout-indicator {
        /*
         * Indicate that we are dealing with a handheld layout.
         */
        z-index: 2;
    }

    /*
     * Remove some of the desktop styles that are not suitable for handhelds.
     */
    #wrap {
        min-width: 0;
    }
    #main {
        width: auto;
    }
    #wrap.kalender-overview #main > header,
    #wrap #handheld-search {
        display: block;
    }
    #content {
        min-height: 0;
    }
    #main.page-kalender #content .overview .month .day > h1 .date {
        display: inline;
    }
    #search,
    /*#service-nav,*/
    .vertical-separator-arrow-left,
    .vertical-separator-arrow-right {
        display: none;
    }

    #service-nav {
        position: static;
        margin-top: 10px;
    }

    .horizontal-separator-arrow-top,
    .horizontal-separator-arrow-bottom {
        display: block;
    }
    .vertical-separator-left,
    .vertical-separator-right {
        min-height: 0;
        background-image: none;
    }
    #nav {
        display: block;
    }
    #navs > .nav {
        position: relative;
        left: auto;
        height: auto;
    }
    #navs > .nav h1 {
        float: none;
        line-height: 1em;
    }
    #navs > .nav .content {
        float: none;
        width: auto;
    }
    #navs > .nav .content ul {
        text-align: center;
        padding: 0;
    }
    #navs > #handheld-search .content .native{
        width: 100%;
        text-align: center;
    }
    #navs > #handheld-search .content .native input{
        width: 70%;
        margin: 3% 0 0;
        border: 1px solid #9f9d9b;
        background-color: #fdfaee;
        -moz-box-shadow: inset 0 0 7px rgba(158,155,138,.85);
        -webkit-box-shadow: inset 0 0 7px rgba(158,155,138,.85);
        box-shadow: inset 0 0 7px rgba(158,155,138,.85);
        border-radius: 0;
        -webkit-appearance: none;
        padding: 1% 2%;
    }
    .date-selector-wrap .date-selector .days-wrap .days:hover,
    .date-selector-wrap .date-selector .months-wrap .months:hover {
        color: inherit;
    }

    /*
     * Apply various styles to optimize for the handheld screen and user
     * experience.
     */
    #content {
        padding: 0 1em;
    }
    #main.page-kalender #content .overview .month .day > h1 .day-of-month {
        display: none;
    }
    #navs-placeholder {
        height: 2.5em;
        margin-bottom: 1.5em;
    }
    #main > header,
    #navs {
        position: fixed;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 5;
    }
    #main > header {
        z-index: 5;
    }
    #header-placeholder,
    #main > header {
        height: 3em;
        line-height: 3em;
    }
    #main > header {
        top: 0;
        margin: 0px;
        background-color: #FFFEF8;
    }
    #navs {
        top: 3em;
        display: none;
    }
    #navs.active {
        z-index: 5;
    }
    #wrap.kalender-overview #navs {
        top: 7em; /* original offset + date-selector height */
    }
    #wrap.initialized #navs {
        display: block;
    }
    #navs > .nav {
        padding-bottom: 1px; /* compensate for space occupied by the background image */
        background-image: url('images/horizontal-separator-light-wide.png');
        background-position: center bottom;
        background-repeat: no-repeat;
        z-index: 1;
    }
    #navs > .nav.active {
        background-image: none;
        padding-bottom: 0;
        z-index: 2;
    }
    #navs > .nav > .horizontal-separator-arrow-bottom {
        display: block;
    }
    #navs > .nav.active > .horizontal-separator-arrow-bottom {
        display: none;
    }
    #navs > .nav.active .content,
    .date-selector-wrap .date-selector-handheld-controls {
        padding-top: 1px; /* compensate for space occupied by the background image */
        background-image: url('images/horizontal-separator-dark-wide.png');
        background-position: center top;
        background-repeat: no-repeat;
    }
    .date-selector-wrap .date-selector-handheld-controls {
        margin: 1.4em 0 1em 0;
    }
    #wrap #navs > .nav {
        float: left;
        width: 50%;
        background-image: url('images/horizontal-separator-light-half.png');
    }
    #wrap #navs > .nav .content {
        width: 200%;
    }
    #wrap #navs > .navs-overlay{
        width: 100%;
        height: auto;
        background-color: #FFFEF8;
        opacity: 0.95;
        display: none;
        clear: both;
    }
    #wrap #navs.active > .navs-overlay{
        display: block;
    }
    #navs > .nav h1 {
        line-height: 2em;
        text-align: center;
        padding-top: 0.5em;
    }
    #navs > .nav.active h1 {
        font-family: 'FuturaW01-BoldCondensed 774890', sans-serif;
    }
    #navs > .nav .content {
        display: none;
    }
    #wrap #nav .content {
        left: -100%;
    }
    #navs > .nav.active .content {
        display: block;
    }
    #navs > .nav .content ul li,
    .date-selector-wrap .date-selector-handheld-controls li {
        padding-bottom: 1px;
        background-image: url('images/horizontal-separator-light-wide.png');
        background-position: center bottom;
        background-repeat: no-repeat;
    }
    #navs > .nav .content ul li:last-child,
    .date-selector-wrap .date-selector-handheld-controls li:last-child {
        background-image: url('images/horizontal-separator-dark-wide.png');
    }
    #navs > .nav .content ul li a,
    .date-selector-wrap .date-selector-handheld-controls li a {
        display: block;
        text-align: center;
        padding: 0.3em 0;
    }
    .date-selector-wrap .date-selector-handheld-controls li a {
        font-size: 125%;
    }
    #navs > .nav .content ul li a.cancel {
        display: block;
    }
    body > .layer {
        left: 1em;
        right: 1em;
        margin: 4em 0 1em 0;
    }
    body > .layer > .content {
        width: auto;
        padding: 1em;
    }

    .date-selector-wrap,
    .date-selector-placeholder {
        height: 4em;
    }
    .date-selector-wrap {
        width: 100%;
        top: 3em;
        left: 0;
        right: 0;
    }
    .date-selector-wrap header {
        display: none;
    }
    .date-selector-wrap .date-selector {
        font-size: 50%; /* scale it down for handheld screens */
        width: 21em !important;
        display: flex;
        justify-content: center;
        padding-top: 5px;
    }
    .page-home .date-selector-wrap .date-selector .filters {
        display: none;
    }
    .date-selector-wrap .date-selector .days-wrap {
        margin-left: 0;
        width: 7em;
    }
    .date-selector-wrap .date-selector .months-wrap {
        width: 13em;
    }
    .date-selector-wrap .months-link-list {
        display: none !important;
    }
    .date-selector-placeholder {
        margin: 0;
        z-index: 1;
    }
    .header-date-wrapper {
        margin-top: 0px;
    }
    .date-selector-wrap {
        top: 45px !important;
        width: 100% !important;
    }
    header.site-header .header-mobile-wrapper {
        padding: 0 15px;
        position: relative;
        top: 26px;
    }

    .page-home header.site-header .header-mobile-wrapper {
        top: 28px;
    }

    .date-selector-wrap.fullscreen {
        top: 0;
        bottom: 0;
        height: 100%;
        z-index: 5;
    }
    .date-selector-wrap.fullscreen > header {
        display: block;
    }
    .date-selector-wrap.fullscreen > header a:hover,
    .date-selector-wrap.fullscreen > header a:active {
        color: #000;
    }
    .date-selector-wrap.fullscreen .date-selector {
        font-size: 50%;
    }
    .date-selector-wrap.fullscreen .date-selector,
    .date-selector-wrap.fullscreen .date-selector .days-wrap,
    .date-selector-wrap.fullscreen .date-selector .months-wrap {
        height: 16em; /* original height x2 (show an extra half row above and below) */
    }
    .date-selector-wrap.fullscreen .date-selector .days-wrap .scroll-position-wrap,
    .date-selector-wrap.fullscreen .date-selector .months-wrap .scroll-position-wrap {
        padding-top: 0.55em;
    }
    .date-selector-wrap.fullscreen .date-selector .days-wrap .fade-top,
    .date-selector-wrap.fullscreen .date-selector .days-wrap .fade-bottom,
    .date-selector-wrap.fullscreen .date-selector .months-wrap .fade-top,
    .date-selector-wrap.fullscreen .date-selector .months-wrap .fade-bottom {
        display: block;
    }
    .date-selector-wrap.fullscreen .date-selector-handheld-controls {
        display: block;
    }

    #back-button {
        display: none;
    }

    /* abo events */
    .abo-events-list:nth-of-type(2) {
        border-left: none;
    }
}

@media only screen and (max-width: 770px) and (orientation: landscape) {
    #navs > .nav .content ul li a {
        padding: 0.5em 0;
    }
    .date-selector-wrap.fullscreen .date-selector .days-wrap,
    .date-selector-wrap.fullscreen .date-selector .months-wrap {
        height: 10em;
    }
    .date-selector-wrap.fullscreen .date-selector .days-wrap .scroll-position-wrap,
    .date-selector-wrap.fullscreen .date-selector .months-wrap .scroll-position-wrap {
        padding-top: 0.945em;
    }
}


@media only screen and (min-width: 771px){
    .page-home header.site-header .header-mobile-wrapper {
        top: 13px;
    }
}