@media screen and (min-width: 321px) and (max-width: 480px) {

    * {
        max-width: 100%; /*overflow: hidden;*/
        box-sizing: border-box;
    }

    .djslider-loader {
        height: 102px;
    }

    img {
        max-width: 100%;
        height: auto !important;
    }

    .stat_image img {
        max-width: 100%;
        height: 12px !important;
    }

    #bgall {
        background: #fff none;
    }

    #wrapall {
        max-width: 100%;
        padding: 0 15px;
        transition: opacity 0.5s, color 0.5s;
    }

    #mobilemenu {
        display: block;
        position: absolute;
        top: 15px;
        right: 15px;
    }

    #wrapnavi {
        display: none;
    }

    #lang {
        margin-left: 0;
        clear: both;
    }

    #lang li a {
        margin-right: 5px;
    }

    #footer {
        height: auto !important;
        overflow: auto;
        padding: 0;
    }

    #login {
        padding: 0;
    }

    #wrapnavi, #topnav {
        height: auto !important;
    }

    #topnav li {
        display: block;
        width: 100%;
        text-align: left;
        border-bottom: #666 1px solid;
        background-color: #FFF;
    }

    #topnav li.first {
        border-top: none;
    }

    #topnav li li {
        border-bottom: none;
    }

    #topnav li li li {
        border-bottom: none;
    }

    #topnav ul li a {
        display: block;
        padding-left: 10px;
    }

    .moduletable_mtmenu {
        height: auto !important;
    }

    #mainbody iframe, #mainbody object, #mainbody embed {
        width: 100%;
    }

    #mainbody {
        /*padding: 5px;*/

        max-width: 97% !important;
        border-right: none !important;
        min-height: inherit !important;
    }
    #mainbody *:not(#location-map):not(#location-map *) {
        max-width: 100% !important;
    }


    #mainbody table {
        width: 100%;
    }

    .item-page {
        padding: 0;
    }

    p {
        margin: 10px 0;
        padding: 0;
    }

    .item-page {
        padding: 0 !important;
    }

    table {
        border-spacing: 0 !important;
    }

    .cright, .cleft {
        width: 100%;
    }

    #ktslider .moduletable {
        padding: 0;
        background: none;
        margin: 10px 0;
    }

    #fpssContainer102.fpss-template-jj-rasper, #fpssContainer102.fpss-template-jj-rasper .slide, #fpssContainer102.fpss-template-jj-rasper .slides-wrapper, #fpssContainer135.fpss-template-jj-rasper, #fpssContainer135.fpss-template-jj-rasper .slide, #fpssContainer135.fpss-template-jj-rasper .slides-wrapper {
        height: 90px;
        width: 100%;
    }

    .fpss-template-jj-rasper .slidetext h1, .fpss-template-jj-rasper .slidetext h1 a {
        font-size: 11px;
        line-height: normal;
        padding-bottom: 10px;
    }

    .fpss-template-jj-rasper .slidetext p {
        display: none;
    }

    #wraptipps h3, right h3, interview h3 {
        padding: 0;
    }

    #wraptipps {
        margin-bottom: 0;
    }

    #right {
        width: 100%;
        padding: 0;
        background: none;
    }

    #right .moduletable {
        width: 100%;
        background: none;
        border-bottom: 1px solid #ccc;
        margin-bottom: 10px;
        padding: 0 0 10px;
    }

    #interview {
        display: none;
    }

    #container1, #container2, #container3, #container4 {
        height: auto !important;
        width: 100%;
        background-image: none;
        padding: 0 0 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid #ccc;
    }

    #container4 {
        border-bottom: 0;
    }

    #aktion {
        margin: 0;
        font-size: 14px;
        padding: 0;
    }

    #aktion .button {
        font-size: 14px;
        display: block;
        max-width: 200px;
        margin: 10px auto;
    }

    #inhalt, #contentinner {
        width: 100%;
        padding: 0;
    }

    #inhalt {
        border-bottom: 1px solid #ccc;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    #skyscraper, #banner, #anzeige, #rss, #co2, #footer3 {
        display: none;
    }

    #footer1, #footer2 {
        border-top: 1px solid #ccc;
        margin-top: 10px;
        padding-top: 10px;
        width: 100%;
    }

    #copyright {
        position: relative;
        font-size: 10px;
        margin-left: 0;
        border-top: 1px solid #ccc;
        margin-top: 40px;
        padding-top: 10px;
        padding-right: 40px;
        width: auto;
    }

    #fb {
        position: absolute;
        top: auto;
        bottom: 35px;
        right: 10px;
    }

    #tw {
        position: absolute;
        top: auto;
        bottom: 10px;
        right: 10px;
    }

    #logo {
        float: left;
        width: 200px;
        height: 50px;
    }

    #wrapnavi {
        margin-bottom: 0;
    }

    #topnav {
        width: 100%;
    }

    #js-mainnav.megamenu.blackwhite {
        background: #333;
    }

    #js-mainnav.megamenu.blackwhite .megaMenuToggle {
        color: #fff;
    }

    #js-mainnav.megamenu.noJS #css3-megaMenuToggle .megaMenuToggle-icon:before, #js-mainnav.megamenu #js-megaMenuToggle .megaMenuToggle-icon:before, #js-mainnav.megamenu.noJS #css3-megaMenuToggle .megaMenuToggle-icon:after, #js-mainnav.megamenu #js-megaMenuToggle .megaMenuToggle-icon:after, #js-mainnav.megamenu.noJS #css3-megaMenuToggle .megaMenuToggle-icon, #js-mainnav.megamenu #js-megaMenuToggle .megaMenuToggle-icon {
        background: #fff;
    }

    /** Konzertkalender ******/
    .entry .image {
        margin-bottom: 5px;
    }

    .textcol {
        padding-bottom: 25px;
    }

    #cpdetail .label {
        float: none;
    }

    #cpdetail .value {
        margin-bottom: 5px;
    }

    #requestform {
        padding: 0;
    }

    /** Verzeichnis **/
    .xlistings {
        display: none;
    }

    #listing .fields .data {
        width: auto;
        border-top: 0;
    }

    #listing .fields .caption {
        border-top: 0;
        text-align: left;
    }

    /** User Profile **/
    .profile dt {
        float: none;
    }

    .profile dd {
        margin-left: 0;
        margin-bottom: 5px;
    }

    /* festivals
    --------------------------------------*/
    input#filter_date_from_from, input#filter_date_to_to, input#filter_search {
        height: 25px;
    }

    /******** special mobile **********/
    #fb {
        position: absolute;
        top: auto;
        bottom: 10px;
        right: 35px;
    }

    #tw {
        position: absolute;
        top: auto;
        bottom: 10px;
        right: 10px;
    }
}


@media screen and (min-width: 979px) {
    #off-menu, .btn-menu-mobile {
        display: none !important;
    }
}


.off-menu .sm-logo {
    text-align: center;
}

.off-menu .sm-logo img {
    max-width: 100%;
}

/* custom module positions */
.off-menu dt.sm-mod,
.off-menu dt.sm-mod:hover {
    padding: 0 !important;
    cursor: default !important;
    background-color: inherit !important;
}

.off-menu .sm-modpos {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    padding: 9px !important;
    cursor: default !important;
    background-color: inherit !important;
}

.off-menu .sm-postag {
    display: inline-block;
    background: #4ed7c2;
    color: #fff;
    border-radius: 4px 4px 0 0;
    padding: 0 7px;
    line-height: 20px;
    font-size: 12px;
}

.off-menu .sm-posname {
    text-align: center;
    border: 1px solid #e3e3e3;
    background: #f5f5f5;
    color: #434343;
    font-size: 16px;
    font-weight: normal;
    line-height: 50px;
}

.off-menu dt.sm-modpos:after, .off-menu dt.sm-mod:after,
.off-menu dt.sm-modpos:before, .off-menu dt.sm-mod:before {
    display: none !important;
}

.off-menu dt.sm-back-item a,
.off-menu dt.parent:after, .off-menu dt.parent:before {
    cursor: pointer;
}

.off-menu .sm-level > dl > dt {
    overflow-x: hidden !important;
    max-width: 100vw;
}

.sm-scroll .sm-level dt {
    pointer-events: none !important;
}

.off-menu > div.sm-level {
    width: 250px;
    height: auto;
    max-height: 100vh;
}

html.sm-full-196,
html.sm-full-196 body {
    padding: 0 !important;
    border: 0 !important;
}

html.sm-full-196:not(.sm-reduce-width),
html.sm-full-196:not(.sm-reduce-width) body {
    overflow: hidden !important;
}

html.sm-full-196.sm-reduce-width body {
    position: static !important;
}

.no-trans {
    -webkit-transition: none !important;
    transition: none !important;
}

.sm-full-196 .sm-pusher {
    outline: 1px solid transparent;
    z-index: 99;
    position: relative;
    height: 100%;
    overflow: hidden !important;
    -webkit-transition: -webkit-transform 0.5s ease 0s;
    transition: transform 0.5s ease 0s;
}

.sm-pusher:after {
    content: "";
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    visibility: hidden;
    background: #000;
    z-index: 10000;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease 0s;
    transition: opacity 0.5s ease 0s;
}

.sm-content {
    max-width: 100vw;
}

.sm-full-196 .sm-pusher:after {
    visibility: visible;
}

.sm-open-196 .sm-pusher:after {
    opacity: 0.2;
}

.sm-full-196 .sm-content-inner,
.sm-full-196 .sm-content,
.sm-full-196 .sm-pusher {
    box-sizing: border-box;
}

.sm-full-196 .sm-content {
    overflow-y: auto !important;
    width: 100vw;
    height: 100%;
}

@media (max-width: 767px) {
    .sm-menu > .menu-icon-cont {
        margin-right: 0 !important;
    }
}

@media (min-width: 768px) {
    .sm-full-196.sm-reduce-width .sm-content {
        -webkit-transition: max-width 0.5s;
        transition: max-width 0.5s;
        float: right;
    }

    .sm-reduce-width .sm-open-196 .sm-content {
        max-width: calc(100% - 300px);
    }

    .sm-reduce-width .sm-open-196 .sm-pusher:after {
        display: none;
    }
}

.sm-full-196 .sm-effect-14 .sm-content,
.sm-full-196 .sm-effect-12 .sm-content,
.sm-full-196 .sm-effect-11 .sm-content,
.sm-full-196 .sm-effect-9 .sm-content,
.sm-full-196 .sm-effect-6 .sm-content {
    overflow-y: auto;
}

.sm-full-196 .sm-content-inner {
    min-height: 100vh;
    position: relative;
}

#off-menu {
    -webkit-transition: -webkit-transform 0.5s;
    position: fixed;
    top: 0;
    left: -100vw;
    z-index: 9999;
    box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.1);
    border-radius: 0;
    width: 100%;
    min-height: 100vh;
    transition: left 0.5s;
}

#wrapall.opaque {
    opacity: .5;
    background: #666;
    overflow: hidden;
    height: 100vh;
}

#off-menu.open {
    left: 0;
}

#off-menu .sm-levels {
    background: #ffffff;
    width: 295px;
    min-height: 100vh;
}

#off-menu .sm-close {
    opacity: 0;
    display: inline-block;
    right: 15px;
    left: unset;
    top: 15px;
    position: absolute;
    width: 50px;
    height: 50px;
    background: #666666;
    z-index: 999999;
    content: "X";
}

#btn-off-menu-close span {
    width: 100%;
    display: block;
    font-size: 3rem;
    color: #FFF;
    text-align: center;
    line-height: 50px;
}

#off-menu ul.mod-menu {
    padding: 0;
}

#off-menu ul.mod-menu li {
    list-style: none;
    padding: 7px 15px 7px 15px;
}


#off-menu ul.mod-menu li a {
    font-family: 'Roboto Condensed', Arial, Helvetica, serif;
    font-size: 16px;
    color: #4c7675;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

#off-menu ul.mod-menu li.deeper > a::after {
    background-image: url('/media/templates/site/classicpoint/images/mobile-menu/arrow-left.png');
    background-size: 40px 20px;
    background-repeat: no-repeat;
    background-position: right center;
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    position: absolute;
    right: 15px;
}

#off-menu ul.child {
    display: none;
    padding: 0;
}



#off-menu ul.mod-menu ul.child a {
    font-size: 14px;
}


.sm-container > #off-menu:not(.sm-popup) {
    position: fixed;
    z-index: 100;
    max-width: 80vw;
    height: 100%;
    top: 0;
    left: 0;
    display: none;
    visibility: hidden;
}

.sm-full-196 #off-menu:not(.sm-popup) {
    display: block;
    visibility: visible;
}


.sm-container > #off-menu:after { /* ??? */
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #000;
    content: '';
    opacity: 0.2;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}


@media screen and (max-width: 375px) {
    .sm-effect-14.sm-open-196 .sm-pusher,
    .sm-effect-13.sm-open-196 .sm-pusher,
    .sm-effect-10.sm-open-196 .sm-pusher,
    .sm-effect-8.sm-open-196 .sm-pusher,
    .sm-effect-7.sm-open-196 .sm-pusher,
    .sm-effect-5.sm-open-196 .sm-pusher,
    .sm-effect-4.sm-open-196 .sm-pusher,
    .sm-effect-3.sm-open-196 .sm-pusher,
    .sm-effect-2.sm-open-196 .sm-pusher {
        -webkit-transform: translate3d(80vw, 0, 0);
        -ms-transform: translate(80vw, 0);
        transform: translate3d(80vw, 0, 0);
    }

    .sm-effect-6.sm-open-196 .sm-pusher {
        -webkit-transform: translate3d(80vw, 0, 0) perspective(1500px) rotateY(-15deg);
        -ms-transform: translate(80vw, 0);
        transform: translate3d(80vw, 0, 0) perspective(1500px) rotateY(-15deg);
    }
}


.sm-effect-7 > #off-menu,
.sm-effect-8 > #off-menu,
.sm-full-196 .sm-effect-12 .sm-pusher {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

.sm-effect-1 > #off-menu,
.sm-effect-3 > #off-menu,
.sm-effect-6 > #off-menu,
.sm-effect-9 > #off-menu,
.sm-effect-11 > #off-menu,
.sm-effect-12 > #off-menu {
    visibility: visible;
    -ms-transform: translate(-100%, 0);
    transform: translate3d(-100%, 0, 0);
}


/* Perfect Scrollbar */
.ps-container .ps-scrollbar-y-rail {
    position: absolute; /* please don't change 'position' */
    right: 3px; /* there must be 'right' for ps-scrollbar-y-rail */
    width: 8px;
    z-index: 1;
    border-radius: 4px;
    opacity: 0;
    -webkit-transition: background-color .2s linear, opacity .2s linear;
    transition: background-color .2s linear, opacity .2s linear;
}

.ps-container:hover .ps-scrollbar-y-rail,
.ps-container.hover .ps-scrollbar-y-rail {
    opacity: 0.6;
}

.ps-container .ps-scrollbar-y-rail:hover,
.ps-container .ps-scrollbar-y-rail.hover {
    background-color: #eee;
    opacity: 0.9;
}

.ps-container .ps-scrollbar-y-rail.in-scrolling {
    background-color: #eee;
    opacity: 0.9;
}

.ps-container .ps-scrollbar-y {
    position: absolute; /* please don't change 'position' */
    right: 0; /* there must be 'right' for ps-scrollbar-y */
    width: 8px;
    background-color: #aaa;
    border-radius: 4px;
    -webkit-transition: background-color .2s linear;
    transition: background-color .2s linear;
}

.ps-container .ps-scrollbar-y-rail:hover .ps-scrollbar-y,
.ps-container .ps-scrollbar-y-rail.hover .ps-scrollbar-y {
    background-color: #999;
}

.ps-container.ie .ps-scrollbar-y,
.ps-container.ie:hover .ps-scrollbar-y,
.ps-container.ie.hover .ps-scrollbar-y {
    visibility: visible;
}


/* ========= Menu Icon Base ======== */

.btn-menu-mobile {
    background: rgba(0, 0, 0, 0.5);
    -ms-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
}

.menu-icon-cont {
    cursor: pointer;
    display: inline-block;
    font-size: 0;
    line-height: 0;
    -webkit-transition: -webkit-transform 300ms, opacity 300ms;
    transition: transform 300ms, opacity 300ms;
    z-index: 9999;
}

.sm-hide .menu-icon-cont {
    -webkit-transition: -webkit-transform 500ms;
    transition: transform 500ms;
}

.sm-parent .menu-icon-cont {
    position: relative;
}


/* border-radius fix */
.sm-parent > .off-menu {
    overflow: hidden;
}

body > .btn-menu-mobile,
.sm-content-inner > .btn-menu-mobile,
.off-menu .btn-menu-mobile {
    position: fixed;
    top: 0;
    left: 0;
}

.sm-open-196 > .btn-menu-mobile,
.sm-open-196 .sm-content-inner > .btn-menu-mobile {
    z-index: 99999;
}

.off-menu .btn-menu-mobile {
    position: absolute;
    left: 100%;
    top: 0;
    z-index: -1;
}

.btn-menu-mobile .menu-icon3 {
    font-size: 50px;
}

.menu-icon-cont .menu-icon3 {
    display: inline-block;
    position: relative;
    height: .6em;
    margin: .2em;
    user-select: none;
    width: .6em;
}

.btn-menu-mobile .menu-icon3 span {
    background: #eeeeee;
    height: 0.08em;
    border-radius: 0;
}

.menu-icon-cont .menu-icon3 span {
    backface-visibility: hidden;
    position: absolute;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    width: 100%;
}

/* ============ menu-icon3 ============ */
.menu-icon-cont .menu-icon3 span {
    left: 0;
}

.menu-icon3 span:nth-child(1) {
    top: .1em;
}

.menu-icon3 span:nth-child(2) {
    top: .26em;
}

.menu-icon3 span:nth-child(3) {
    top: .42em;
}

.sm-close .menu-icon3 span:nth-child(1) {
    -ms-transform: rotate(45deg) translate(.11em, .11em);
    transform: rotateZ(45deg) translate3d(.11em, .11em, 0);
}

.sm-close .menu-icon3 span:nth-child(2) {
    opacity: 0;
}

.sm-close .menu-icon3 span:nth-child(3) {
    -ms-transform: rotate(-45deg) translate(.11em, -.11em);
    transform: rotateZ(-45deg) translate3d(.11em, -.11em, 0);
}

.sm-hide .menu-icon3 span:nth-child(1) {
    width: 50%;
    -ms-transform: translate(.16em, -0.08em) rotate(45deg) translate(.11em, .11em);
    transform: translate3d(.16em, -0.08em, 0) rotateZ(45deg) translate3d(.11em, .11em, 0);
}

.sm-hide .menu-icon3 span:nth-child(3) {
    width: 50%;
    -ms-transform: translate(.16em, 0.08em) rotate(-45deg) translate(.11em, -.11em);
    transform: translate3d(.16em, 0.08em, 0) rotateZ(-45deg) translate3d(.11em, -.11em, 0);
}

/* sliding menu */

#off-menu .sm-levels {
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
}

.off-menu .sm-levels.sm-swipe:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}


.off-menu a,
.off-menu a:link,
.off-menu a:visited,
.off-menu a:hover {
    text-decoration: none;
}


.off-menu a:active,
.off-menu a:focus {
    outline: 0;
    -webkit-tap-highlight-color: transparent;
}

.off-menu .sm-filter::-ms-clear {
    display: none;
}

.off-menu .sm-level {
    top: 0;
    position: absolute;
    width: 100%;
    overflow: hidden;
}

#off-menu .sm-level {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.off-menu dl .sm-level,
.off-menu .sm-level.level1 {
    position: static;
}

.off-menu dl {
    position: relative;
    overflow: hidden;
}

.sm-mobile .off-menu dl {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.sm-mobile .off-menu dd dl {
    overflow: hidden;
}

.sm-container > .sm-menu dl {
    max-height: 100%;
}

.off-menu dt {
    -webkit-transition: background 300ms;
    transition: background 300ms;
}

.off-menu .link a,
.off-menu .sm-arrow,
.off-menu .desc {
    -webkit-transition: color 300ms;
    transition: color 300ms;
}

.off-menu dd {
    display: block;
    margin: 0;
    border: 0;
    overflow: hidden;
}

.noscript .off-menu dd,
.sm-tree.off-menu dd,
.off-menu .sm-result .sm-arrow {
    display: none;
}

.sm-tree.off-menu dd.opened {
    display: block;
    margin: 0;
    border: 0;
}


#off-menu {
    margin: 0 0 10px 0;
}

.sm-container > #off-menu {
    margin: 0;
    width: 300px;
}


#off-menu .sm-head {
    background: #14CAB3;
    background: -webkit-linear-gradient(to top, #14CAB3, #00A9AC);
    background: linear-gradient(to top, #14CAB3, #00A9AC);
}

/* custom module positions */
#off-menu .sm-logo,
#off-menu .sm-top {
    background: #ffffff;
}


#off-menu input.sm-filter,
#off-menu input.sm-filter[type=text] {
    font-family: 'Roboto Condensed', Arial, Helvetica;
    font-size: 16px;
    color: #4c7675;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
    width: 100%;
    height: auto;
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #e8f1f0;
    margin: 0;
    border-radius: 0;
    padding: 7px 15px 7px 15px;
    box-sizing: border-box;
}

#off-menu .sm-filter-cont {
    position: relative;
    overflow: hidden;
}

#off-menu .sm-search,
#off-menu .sm-reset {
    cursor: pointer;
    pointer-events: none;
    position: absolute;
    right: 15px;
    top: 0;
    width: 20px;
    height: 100%;
    background: transparent no-repeat center center;
    background-image: url(/modules/mod_vertical_menu/cache/196/0265039a9c06f79cdb2667f51db54961.png);
    display: block;
    background-size: 20px 20px;
    opacity: 0;
    -ms-transform: translate(200%, 0);
    transform: translateX(200%);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

#off-menu .sm-reset {
    pointer-events: all;
    background-image: url(/modules/mod_vertical_menu/cache/196/97af6c55d8f8d1ad26da7012ba4d34e1.png);
    display: block;
    opacity: 1;
    -ms-transform: none;
    transform: none;
    -webkit-transition-delay: 300ms;
    transition-delay: 300ms;
}

#off-menu input[value=""].sm-filter ~ .sm-search {
    opacity: 1;
    -ms-transform: none;
    transform: none;
    -webkit-transition-delay: 300ms;
    transition-delay: 300ms;
}

#off-menu input[value=""].sm-filter ~ .sm-reset {
    opacity: 0;
    -ms-transform: scale(0, 0);
    transform: scale3d(0, 0, 1);
    -webkit-transition-delay: 0ms;
    transition-delay: 0ms;
}

#off-menu .sm-levels {
    height: 100%;
}


.off-menu .sm-icon {
    display: table-cell;
    width: 42px;
    text-align: center;
    vertical-align: top;
    padding: 0 10px 0 0;
}

.off-menu .sm-icon img {
    margin: 0;
    border-radius: 0;
}

.off-menu .inner {
    display: table-cell;
    vertical-align: middle;
}

.off-menu dt {
    display: table;
    table-layout: fixed;
    width: 100%;
    cursor: pointer;
}

.off-menu dt.parent a {
    pointer-events: none;
}

#off-menu h3.sm-head {
    height: 50px;
    padding: 0;
    margin: 0;
    border: 0;
    text-align: center;
}

#off-menu h3.sm-head .sm-title:first-child {
    position: static;
    max-width: 100% !important;
}

#off-menu h3.sm-head span {
    font-family: 'Roboto Condensed', Helvetica, Arial;
    font-size: 20px;
    color: #ffffff;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.20);
    line-height: 50px;
}

.off-menu .link {
    position: relative;
    display: block;
    padding-right: 0;
}

/* Productnum */

#off-menu .sm-title:first-child {
    max-width: 78%;
}


#off-menu .sm-title,
#off-menu .sm-back {
    position: absolute;
    left: 0;
    max-width: 66%;
    padding: 0 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

#off-menu .sm-back {
    cursor: pointer;
    max-width: 45%;
    padding: 0 0 0 15px;
    -webkit-transform-origin: 15px 50%;
    transform-origin: 15px 50%;
}


/*** Level specific iteration ***/

.off-menu dt,
.off-menu dl.level1 dt {
    padding: 7px 15px 7px 15px;
}


.off-menu dt .link,
.off-menu dt.level1 .link {
    text-align: left;
}

.off-menu dl a,
.off-menu dl a:link,
.off-menu dl.level1 a,
.off-menu dl.level1 a:link {
    font-family: 'Roboto Condensed', Arial, Helvetica;
    font-size: 16px;
    color: #4c7675;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu dl dt.opened.parent a,
.off-menu dl.level1 dt.opened.parent a,
.off-menu dl dt.hover a,
.off-menu dl dt:hover a,
.off-menu dl.level1 dt.hover a,
.off-menu dl.level1 dt:hover a {
    font-family: 'Roboto Condensed', Arial, Helvetica;
    font-size: 16px;
    color: #4c7675;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu dl dt.active.parent a,
.off-menu dl dt.active a,
.off-menu dl.level1 dt.active.parent a,
.off-menu dl.level1 dt.active a {
    font-family: 'Roboto Condensed', Arial, Helvetica;
    font-size: 16px;
    color: #4c7675;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu dl .desc,
.off-menu dl.level1 .desc,
.off-menu dl .productnum,
.off-menu dl.level1 .productnum {
    font-family: 'Roboto', Arial, Helvetica;
    font-size: 13px;
    color: #90b2b2;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu dl dt.opened.parent .desc,
.off-menu dl.level1 dt.opened.parent .desc,
.off-menu dl dt.hover .desc,
.off-menu dl dt:hover .desc,
.off-menu dl.level1 dt.hover .desc,
.off-menu dl.level1 dt:hover .desc {
    font-family: 'Roboto', Arial, Helvetica;
    font-size: 13px;
    color: #90b2b2;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu dl dt.active .desc,
.off-menu dl.level1 dt.active .desc {
    font-family: 'Roboto', Arial, Helvetica;
    font-size: 13px;
    color: #90b2b2;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    text-align: left;
    text-shadow: none;
    line-height: normal;
}

.off-menu .sm-level,
.off-menu div.level1 {
    background: #ffffff;
    background: -webkit-linear-gradient(top, #ffffff, #ffffff);
    background: linear-gradient(top, #ffffff, #ffffff);
}

/* product number */

.off-menu dl .productnum,
.off-menu dl.level1 .productnum {
    color: #ffffff;
    border-radius: 9px;
    font-style: normal;
}

.off-menu dl dt,
.off-menu dl.level1 dt {
    border-top: 1px solid rgba(255, 255, 255, 0);
    border-bottom: 1px solid rgba(0, 0, 0, 0);
}

/* Plus */
.off-menu dl dt:after,
.off-menu dl.level1 > dt:after {
    content: "";
    display: table-cell;
    width: 20px;
    -webkit-transition: -webkit-transform 400ms;
    transition: transform 400ms;
}

.off-menu dl dt:before,
.off-menu dl.level1 > dt:before {
    display: none;
}

.off-menu dl .parent:after,
.off-menu dl.level1 > .parent:after {
    background-image: url('/modules/mod_vertical_menu/cache/196/af632e6ef76153f1792ee5c2f2707fc5.png');
    background-size: 40px 20px;
    background-repeat: no-repeat;
    background-position: left center;
}

.off-menu dl .inner,
.off-menu dl.level1 .inner {
    padding-left: 0;
    padding-right: 4px;
}


.off-menu dl dt.active,
.off-menu dl.level1 dt.active {
    background-color: rgba(0, 0, 0, 0);
}

.off-menu dl dt.opened.parent,
.off-menu dl.level1 dt.opened.parent,
.off-menu dl dt.hover,
.off-menu dl dt:hover,
.off-menu dl.level1 dt.hover,
.off-menu dl.level1 dt:hover {
    background-color: rgba(218, 230, 233, 0.40);
}


/* Plus */
.off-menu dl .parent.hover:before,
.off-menu dl .parent.hover:after,
.off-menu dl .parent:hover:before,
.off-menu dl .parent:hover:after {
    background-position: right center;
}

.off-menu.sm-tree dl .opened:before,
.off-menu.sm-tree dl .opened:after {
    background-position: right center;
    -webkit-transform: rotateZ(90deg);
    -ms-transform: rotate(90deg);
    transform: rotateZ(90deg);
}

/* default higher level values for tree/expanded menu */
.off-menu dl.level2 dt {
    padding-left: 30px;
}

.off-menu dl.level2 dt.opened.parent a,
.off-menu dl.level2 dt.active a,
.off-menu dl.level2 dt:hover a,
.off-menu dl.level2 a,
.off-menu dl.level2 a:link {
    font-size: 14px;
}

.off-menu dl.level3 dt {
    padding-left: 45px;
}

.off-menu dl.level3 dt.opened.parent a,
.off-menu dl.level3 dt.active a,
.off-menu dl.level3 dt:hover a,
.off-menu dl.level3 a,
.off-menu dl.level3 a:link {
    font-size: 13px;
}

.off-menu dl.level4 dt {
    padding-left: 60px;
}

.off-menu dl.level5 dt {
    padding-left: 75px;
}
