/*
 * mobile first
 */
.main-navigation {
    font-size: 1.22em;
    text-align: left;
    display: none;
    position: absolute;
    z-index: 100;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-top: 1px solid #BEBFB7;
}

/* add line below menu, cant use border here, because it does not collapse with border from menu item */
.main-navigation::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid #BEBFB7;
}

.main-navigation a {
    display: block;
    padding: 25px 20px 25px 70px;
    border-bottom: 1px solid #BEBFB7;
    font-weight: bold;
}

.main-navigation li.current > a,
.main-navigation li.active > a {
    color: #006374;
    color: #333333;
}

.main-navigation li.current > a:hover,
.main-navigation li.active > a:hover {
    color: #006374;
}

.main-navigation .item {
    position: relative;
    display: block;
}

.main-navigation .has-children {
    position: absolute;
    right: 15px;
    top: 20px;
    font-size: 32px;
}

/* hide plus sign in main level on large screens */
@media screen and (min-width: 950px) {
    .main-navigation .has-children-lvl2 {
        display: none;
    }
}

.main-navigation .icon > a:before {
    position: absolute;
    top: 20px;
    left: 20px;
}

.main-navigation .level-2,
.main-navigation .level-3 {
    margin-left: 50px;
}

.main-navigation .level-2 a {
    padding-left: 0;
    font-size: 18px;
    font-weight: normal;
}

/* hide dropdown at start */
.main-navigation .level-2,
.main-navigation .level-3 {
    display: none;
}

.main-navigation .js-hideElement {
    display: none;
}

.main-navigation .js-showElement {
    display: block;
}

@media screen and (min-width: 950px) {
    /* firefox needs this, otherwise the menu is visually broken */
    #main-menu {
        float: right;
    }

    .main-navigation {
        font-size: 1.1em;
        display: block;
        position: static;
        max-width: none;
        right: auto;
        top: auto;
        border: none;
        background: transparent;
        padding: 0;
        height: auto;
        overflow: visible;
        text-align: right;
    }

    .main-navigation a {
        border: 0;
    }

    .main-navigation .has-children {
        font-size: 22px;
        margin-top: -13px;
    }

    .main-navigation .icon > a:before {
        position: relative;
        top: 2px;
        left: 0;
    }

    .main-navigation .level-1 > li {
        display: inline-block;
        padding: 0;
        vertical-align: top;
    }

    /* first level */
    .main-navigation .level-1 > li > a {
        padding: 60px 0 45px 10px;
        border: 0;
        display: inline-block;
    }

    .main-navigation .level-2,
    .main-navigation .level-3 {
        position: absolute;
        z-index: 30;
        border: 1px solid #BEBFB7;
        margin-left: 0;
    }

    .main-navigation .level-2 {
        left: 5px;
        top: 100%;
        margin-top: -1px;
        text-align: left;
    }

    .main-navigation .level-2 a {
        padding: 8px 36px 8px 12px;
        min-width: 214px;
    }

    .main-navigation .level-3 {
        left: 100%;
        top: -1px;
    }

    /* keep last dropdown inside container */
    .main-navigation .level-1 > li:last-child .level-2 {
        right: 0;
        left: auto;
    }

    .main-navigation .level-1 > li:last-child .level-3 {
        left: auto;
        right: 100%;
    }

    /* general link styling */
    .main-navigation .level-2 > li,
    .main-navigation .level-3 > li {
        border-bottom: 1px solid #BEBFB7;
    }

    /* remove border on last element */
    .main-navigation .level-2 > li:last-child,
    .main-navigation .level-3 > li:last-child {
        border-bottom: 0;
    }

}

@media screen and (min-width: 1146px) {
    .main-navigation {
        font-size: 1.22em;
    }

    .main-navigation .level-1 > li {
        margin-right: 40px;
    }

    .main-navigation .level-1 > li:last-child {
        margin-right: 0;
    }
}

/* navigation with no js */
.no-js .main-navigation li:hover > ul {
    display: block;
}