.slick-slider{
    margin-bottom: 0;
}

.slick-disabled {
    display: none !important;
}

.slick-dots { position: absolute; bottom: -30px; list-style: none; display: block; text-align: center; padding: 0; width: 100%; }
.slick-dots li { position: relative; display: inline-block; height: 8px; width: 8px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li button { border: 0; background: transparent; display: block; height: 8px; width: 8px; outline: none; line-height: 0; font-size: 0; color: transparent; padding: 5px; cursor: pointer; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { position: absolute; top: 0; left: 0; content: "•"; width: 8px; height: 8px; font-family: "slick"; font-size: 8px; line-height: 8px; text-align: center; color: #FFA900; opacity: 0.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { color: #FFA900; opacity: 1; }

.slick-dots > li:only-child {
    display: none;
}

.inforow .slick-dots {
    text-align: left;
    left: -3px;
    bottom: -40px;
}

.logoslider .slick-dots {
    text-align: center;
    bottom: -30px;
    left: 0;
}

.mmenu {
    position: fixed;
    top: 0;
    left: 0;
    background: #2D373A;
    color: #fff;
    z-index: 100;
    height: 100vh;
    width: 1090px;
}

.mmenu .closemenu {
    float: right;
    margin: 20px 20px 0 0;
    padding-right: 30px;
    background: url(/files/templates/images/close.svg) no-repeat right center;
    cursor: pointer;
    position: relative;
    z-index: 10;
    font-size: 18px;
}

.mmenu .navholder {
    position: relative;
    padding: 100px 120px;
}

.mmenu .navholder:after {
    content: '';
    position: absolute;
    top: 110px;
    left: 52%;
    width: 8px;
    background: #3e4648;
    height: calc(100% - 220px);
}

.mmenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mmenu ul li {
    line-height: 70px;
    display: flex;
    flex-wrap: wrap;
    font-size: 20px;
    margin: 10px 0;
    padding: 15px;
    width: 48%;
    font-weight: bold;
    cursor: pointer;
}

.mmenu ul li.active,
.mmenu ul li.trail,
.mmenu ul li:hover {
    background: #3e4648;
    border-radius: 10px;
}

.mmenu ul li:before{
    content: '';
    width: 70px;
    height: 70px;
    border-radius: 10px;
    margin-right: 20px;
    background-color: #fff;
    background-position: center center;
    background-repeat: no-repeat;
}

.mmenu ul li.active:before,
.mmenu ul li.trail:before {
    background-color: #FFA900;
}

.mmenu ul li.haltestellen:before {
    background-image: url(/files/templates/images/navicon-haltestellen.svg);
}

.mmenu ul li.tarife:before {
    background-image: url(/files/templates/images/navicon-tickets.svg);
}

.mmenu ul li.urlaub:before {
    background-image: url(/files/templates/images/navicon-freizeit.svg);
}

.mmenu ul li.vvw:before {
    background-image: url(/files/templates/images/navicon-vvw.svg);
}

.mmenu ul li.service:before {
    background-image: url(/files/templates/images/navicon-info.svg);
}

.mmenu ul li span {
    position: relative;
    width: calc(100% - 100px);
}

.mmenu ul li span:after {
    content: '+';
    position: absolute;
    right: 0;
    font-size: 30px;
}

.mmenu ul li.active span:after,
.mmenu ul li.trail span:after {
    content: '–';
}

.mmenu ul li ul {
    display: none;
    position: absolute;
    top: 120px;
    left: 58%;
}

.mmenu ul li.active ul,
.mmenu ul li.trail ul {
    display: block;
}

.mmenu ul li ul li {
    display: block;
    line-height: normal;
    width: auto;
    cursor: default;
}

.mmenu ul li ul li:hover {
    background: none;
}

.mmenu ul li ul li:before,
.mmenu ul li ul li:after,
.mmenu ul li.active ul li span:after,
.mmenu ul li.trail ul li span:after {
    content: none;
}

.mmenu ul li ul li a {
    color: #fff;
    text-decoration: none;
}

.mmenu ul li ul li.active {
    background: none;
    color: #FFA900;
}

.mmenu img {
    position: absolute;
    bottom: 0;
    left: 0;
}

.ajax-overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.75);
    z-index: 999;
}

.ajax-overlay .cont-load {
    width: 90%;
    max-width: 800px;
    background: #fff;
    position: absolute;
    left: 50%;
    top: 100px;
    max-height: calc(100vh - 200px);
    border-radius: 15px;
    padding: 35px;
}

.ajax-overlay .cont-load .inner {
    position: relative;
    max-height: calc(100vh - 300px);
    overflow-y: auto;
    margin: 5px 0;
}

.ajax-overlay .cont-load a.close {
    position:absolute;
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    line-height: 36px;
    text-align: center;
    border-radius: 50%;
    background: #DE1A3B;
    color: #fff;
    font-weight: bold;
    border: 2px solid #fff;
    cursor: pointer;
}

#digitalticket {
    padding: 0 30px;
}

.embedded-map {
    margin-top:10px;
    margin-bottom:10px;
}
.embedded-map .item {
    margin-top:5px;
    margin-bottom:5px;
}
.embedded-map .inside {
    position:relative;
    background:lightgray;
    min-height:400px;
}

.embedded-map .inside iframe {
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}
.embedded-map .inside .overlay {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    text-align: center;
    transform: translateY(-50%);
    z-index:1;
    display:none;
}

.embedded-map .inside .overlay.active {
    display:block;
}

.embedded-map .inside .showMap {
    background-color: #2D373A;
    color: #FFF;
    text-decoration: none;
    border-radius: 20px;
    line-height: 58px;
    font-size: 20px;
    padding: 0 100px;
    display: inline-table;
    margin: 50px 0;
    border: none;
}

.ce_twoboxes .row {
    display:flex;
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
}

@media(max-width: 1199px) {
    .partner-banner {
        width: 100% !important;
    }
}

@media (min-width: 1200px) and (max-width: 1669px){

    .mmenu {
        width: 900px;
    }

    .mmenu .navholder {
        padding: 80px 50px;
    }

    .mmenu .navholder:after {
        top: 90px;
        height: calc(100% - 180px);
    }

    .mmenu ul li {
        font-size: 20px;
        padding: 10px;
        line-height: 60px;
    }

    .mmenu ul li:before {
        background-size: 44px 44px !important;
        width: 60px;
        height: 60px;
    }

    .mmenu ul li ul {
        top: 100px;
        left: 56%;
    }

}

@media (min-width: 992px) and (max-width: 1199px){

    .mmenu {
        width: 730px;
    }

    .mmenu .closemenu {
        font-size: 16px;
    }

    .mmenu .navholder {
        padding: 80px 30px;
    }

    .mmenu .navholder:after {
        top: 90px;
        height: calc(100% - 180px);
    }

    .mmenu ul li {
        font-size: 18px;
        padding: 10px;
        line-height: 40px;
    }

    .mmenu ul li span {
        width: calc(100% - 60px);
    }

    .mmenu ul li span:after {
        font-size: 25px;
    }

    .mmenu ul li:before {
        background-size: 30px 30px !important;
        width: 40px;
        height: 40px;
    }

    .mmenu ul li ul {
        top: 100px;
        left: 56%;
    }

    .inforow .slick-dots {
        text-align: center;
        left: 0;
    }

}

@media (min-width: 768px) and (max-width: 991px){

    .mmenu {
        width: 100%;
    }

    .mmenu .closemenu {
        font-size: 16px;
    }

    .mmenu .navholder {
        padding: 100px 30px;
    }

    .mmenu .navholder:after {
        top: 90px;
        height: calc(100% - 180px);
    }

    .mmenu ul li {
        font-size: 18px;
        padding: 10px;
        line-height: 40px;
    }

    .mmenu ul li span {
        width: calc(100% - 60px);
    }

    .mmenu ul li span:after {
        font-size: 25px;
    }

    .mmenu ul li:before {
        background-size: 30px 30px !important;
        width: 40px;
        height: 40px;
    }

    .mmenu ul li ul {
        top: 100px;
        left: 56%;
    }

    .inforow .slick-dots {
        text-align: center;
        left: 0;
    }

}

@media (max-width: 767px){
    .ce_twoboxes .row {
        display:block;
    }


    .slick-dots {
        text-align: left;
        bottom: -25px;
        left: -3px;
    }

    .mmenu {
        width: 100%;
        overflow-x: auto;
    }

    .mmenu .closemenu {
        font-size: 16px;
    }

    .mmenu .navholder {
        padding: 50px 10px;
    }

    .mmenu .navholder:after {
        content: none;
    }

    .mmenu ul li {
        display: inline-block;
        width: 100%;
        font-size: 18px;
        padding: 10px 10px 10px 50px;
        line-height: 40px;
        position: relative;
    }

    .mmenu ul li span {
        width: 100%;
        display: block;
    }

    .mmenu ul li span:after {
        font-size: 25px;
    }

    .mmenu ul li:before {
        background-size: 30px 30px !important;
        width: 40px;
        height: 40px;
        position: absolute;
        left: 0;
    }

    .mmenu ul li.active, .mmenu ul li.trail, .mmenu ul li:hover {
        background: none;
    }

    .mmenu ul li ul {
        position: static;
        margin-top: 15px;
    }

    .mmenu ul li ul li {
        padding: 0;
        font-size: 15px;
        margin: 0;
    }

    .mmenu ul li ul li a,
    .mmenu ul li ul li.active span {
        padding: 15px 0;
        display: block;
    }

    .mmenu img {
        position: static;
    }

    .inforow .slick-dots {
        text-align: center;
        left: 0;
    }

}
