/* Grundreset nur fuer die Kernelemente */
.ubermenu,
.ubermenu .ubermenu-nav,
.ubermenu .ubermenu-item,
.ubermenu .ubermenu-target,
.ubermenu .ubermenu-submenu,
.ubermenu .ubermenu-column,
.ubermenu .ubermenu-row,
.ubermenu .ubermenu-divider,
.ubermenu .ubermenu-icon,
.ubermenu .ubermenu-image,
.ubermenu-responsive-toggle {
    margin: 0;
    padding: 0;
    list-style: none;
    border: none;
    box-sizing: border-box;
    background: transparent;
    text-decoration: none;
    text-transform: none;
    line-height: 1.3em;
    position: static;
    z-index: 10;
    height: auto;
    width: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    text-indent: 0;
    clip: auto;
    overflow: visible;
    box-shadow: none;
    vertical-align: top;
    border-radius: 0;
    pointer-events: auto;
}

/* Eintraege links ausrichten */
.ubermenu .ubermenu-item {
    text-align: left;
}

/* Listen ohne Marker */
.ubermenu ul,
.ubermenu li {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Grundwerte */
.ubermenu {
    display: block;
    text-align: left;
    line-height: 1.3em;
    z-index: 100;
}

.ubermenu .ubermenu-nav {
    display: block;
    margin: 0;
    padding: 0;
    z-index: 10;
    text-align: inherit;
}

.ubermenu-bar-inner-center .ubermenu-nav {
    margin: 0 auto;
}

.ubermenu-bar-align-right {
    float: right;
}

.ubermenu .ubermenu-has-submenu-flyout {
    position: relative;
}

.ubermenu .ubermenu-target {
    display: block;
    position: relative;
    padding: 15px 20px;
}

.ubermenu .ubermenu-item-level-0 > .ubermenu-target {
    cursor: pointer;
}

.ubermenu .ubermenu-target-title,
.ubermenu .ubermenu-target-text {
    display: inline-block;
    color: inherit;
    font-family: inherit;
    font-weight: inherit;
}

/* Eigener Inhalt mit Abstand rechts */
.ubermenu .ubermenu-custom-content-padded {
    padding-right: 20px;
}

/* Untermenues */
.ubermenu .ubermenu-submenu-drop {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 500;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease, visibility 0s linear .3s;
}

.ubermenu .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
}

.ubermenu .ubermenu-submenu-align-right_edge_item {
    left: auto;
    right: 0;
}

.ubermenu .ubermenu-submenu-align-full_width {
    left: 0;
}

.ubermenu .ubermenu-submenu-type-mega {
    width: 100%;
}

.ubermenu .ubermenu-submenu-type-mega > .ubermenu-item {
    display: block;
    float: left;
    width: auto;
}

.ubermenu .ubermenu-submenu-type-flyout > .ubermenu-item {
    display: block;
    float: none;
    position: relative;
}

/* Umschalter */
.ubermenu-responsive-toggle {
    display: none;
    float: right;
    text-align: center;
    padding: 15px 20px;
    color: #888;
    cursor: pointer;
}

/* Abstand am Symbol im Umschalter */
.ubermenu-responsive-toggle .fa {
    width: 1.3em;
    text-align: center;
    margin-right: .6em;
}

.ubermenu-responsive-toggle-align-right {
    float: right;
}

@media screen and (min-width: 1101px) {
    .ubermenu-items-align-center {
        text-align: center;
    }

    .ubermenu-horizontal .ubermenu-item-level-0 {
        display: inline-block;
        float: none;
        text-align: left;
        width: auto !important;
    }

    .ubermenu-responsive-toggle {
        display: none;
    }

    .ubermenu {
        display: block !important;
    }
}

@media screen and (max-width: 1100px) {
    .ubermenu-responsive-toggle {
        display: block;
    }

    .ubermenu-responsive {
        width: 100%;
        max-height: none;
        visibility: visible;
        overflow: visible;
        margin: 0;
    }

    .ubermenu-responsive.ubermenu-responsive-collapse {
        display: none;
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
    }

    .ubermenu-responsive .ubermenu-nav {
        display: block;
        margin: 0 auto;
    }

    .ubermenu-responsive .ubermenu-item-level-0 {
        display: block;
        width: 100%;
        float: none;
    }

    .ubermenu-responsive.ubermenu-items-align-center {
        text-align: left;
    }

    .ubermenu-responsive .ubermenu-item.ubermenu-has-submenu-flyout {
        position: static;
    }

    .ubermenu-responsive .ubermenu-submenu-drop {
        position: static;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        left: 0;
        top: auto;
        display: none;
        visibility: visible;
        opacity: 1;
        transition: none;
    }

    .ubermenu-responsive .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop {
        display: block;
        z-index: 20;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ubermenu .ubermenu-submenu-drop {
        transition: none;
    }
}
