.header-navigation .nav-main-inner ul {
    padding: unset;
}

.header-navigation .nav > li.menu-item.has-children > a:before {
    content: '\f0d7';
    position: absolute;
    display: block;
    font-family: 'FontAwesome', sans-serif;
    font-size: 15px;
    z-index: 1;
}

.header-large .navbar-toggle {
    position: absolute;
    top: 0;
    right: 15px;
}

/* --------------------------------------------------- */

@keyframes blinker {
    50% {
        opacity: 0.16;
    }
}

@keyframes blinker-bg {
    50% {
        background-color: unset;
    }
}

/* --------------------------------------------------- */

@media (min-width: 768px) {

    .header-navigation .nav > .menu-item.has-children > a {
        padding-right: 22px;
    }

    .header-navigation .nav > li.menu-item.has-children > a:before {
        right: 5px;
        margin-top: -1px;
    }

    .header-navigation .nav li.menu-item.has-children {
        position: relative;
    }

    .header-navigation .nav li.menu-item.has-children:after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        right: -10px;
        width: 10px;
        height: 100%;
        background-color: transparent;
    }

    .header-navigation .nav li.menu-item.has-children a {
        text-decoration: none;
    }

    .header-navigation .nav li.menu-item.has-children div {
        position: absolute;
        top: 0;
        left: 0;
        /*width: 0;*/
        width: auto;
        height: 0;
        background-color: #fff;
        border-radius: 1px;
        box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16);
        opacity: 0;
        overflow: hidden;
        z-index: 9999;
        -webkit-backface-visibility: hidden;
    }

    .header-navigation .nav li.menu-item.has-children div a {
        /*.header-navigation .nav li.menu-item.has-children div > a,
        .header-navigation .nav li.menu-item.has-children .sub-menu li a {*/
        color: #212121;
    }

    .header-minimal .header-navigation .nav li.menu-item.has-children div > a {
        color: #424242;
    }

    .header-navigation .nav li.menu-item.has-children div > a {
        white-space: nowrap;
        text-decoration: none;
    }

    .header-navigation .nav li.menu-item.has-children.open div > a {
        /*color: #90CAF9;*/
        background-color: #F5F5F5;
    }

    .header-navigation .nav li.menu-item.has-children.open.tapped div > a {
        padding-right: 53px;
        /*min-width: 11.4em;*/
    }

    .header-navigation .nav li.menu-item.has-children.open.tapped div > a:before {
        content: '\f0d7';
        position: absolute;
        display: block;
        right: 0.94em; /* 0.94em = 14px; 1em = 15px*/
        margin-top: -1px;
        font-family: 'FontAwesome', sans-serif;
        font-size: 15px;
    }

    .header-navigation .nav > li.menu-item.has-children.open.tapped.waiting div > a {
        /*background-color: #F5F5F5; !*#EDEDED;*!*/
        animation: blinker-bg 0.5s ease-out infinite;
    }

    .header-navigation .nav > li.menu-item.has-children.open.tapped.waiting div > a:before {
        content: '\f0da\ \f0da\ \f0da';
        animation: blinker 0.5s ease-out infinite;
    }

    .header-navigation .nav > li.menu-item.has-children.open.tapped:not(.waiting) div > a:before {
        content: '\f0d8'; /*'\f0d7';*/
    }

    .header-navigation .nav li.has-children .sub-menu {
        padding: unset;
        list-style: none;
    }

    .header-navigation .nav li.has-children .sub-menu li {
        position: relative;
    }

    .header-navigation .nav li.has-children .sub-menu li a {
        position: relative;
        display: block;
        padding-top: 10px;
        padding-bottom: 10px;
        font-weight: normal;
        text-transform: none;
        white-space: nowrap;
        /*color: #212121;*/
    }

    .header-navigation .nav li.has-children .sub-menu li a:hover {
        text-decoration: none;
    }

    .header-navigation .nav li.has-children .sub-menu li a:hover:before {
        width: 100%;
    }

    .header-navigation .nav li.has-children .sub-menu li a:before {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 0;
        height: 100%;
        background-color: #F5F5F5;
        transition: width .15s linear;
        z-index: -1;
    }

    .header-navigation .nav li.has-children .sub-menu li a.subtitle {
        color: #9E9E9E;
        cursor: default;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
    }

    .header-navigation .nav li.has-children .sub-menu li a.subtitle:after, .header-navigation .nav li.has-children .sub-menu li a.subtitle:before {
        display: none;
    }

    .header-navigation .nav li.has-children .has-children > a:after {
        content: '\f0da';
        position: absolute;
        display: block;
        top: 10px;
        left: auto !important;
        right: 10px !important;
        width: auto !important;
        font-family: 'FontAwesome';
        color: #BDBDBD;
    }

    .header-navigation .nav li.has-children .has-children div {
        left: 102% !important;
    }

    .header-navigation .nav li.has-children:hover > div {
        visibility: visible;
    }

    /*.header-navigation .nav li.has-children:hover > div > a {
        color: #212121;
    }*/
    .header-navigation .nav li.has-children div a:hover {
        color: #1565C0;
    }

    .header-navigation .mobile-overlay {
        display: none;
    }
}

@media (max-width: 767px) {

    .nav-main-wrapper {
        position: fixed;
        top: 0;
        bottom: 0;
        left: -82%;
        width: 82%;
        max-width: 384px; /* 768 / 2 */
        background-color: #FFFFFF;
        border-right: 1px solid #EEEEEE;
        transition: left 0.3s linear 0s;
        z-index: 11001 !important;
        overflow-y: auto;
    }

    .nav-main-wrapper.open {
        left: 0;
        transition: left 0.3s linear 0.3s;
    }

    .header-navigation .mobile-overlay {
        position: fixed;
        display: block;
        visibility: hidden;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5);
        opacity: 0;
        transition: visibility 0.6s, opacity 0.3s linear 0.3s, left 0.3s linear 0s;
        z-index: 11000 !important;
    }

    .header-navigation .mobile-overlay.visible {
        visibility: visible;
        opacity: 1;
    }

    .nav-main-inner {
        height: 100%;
        background-color: inherit;
    }

    .header-navigation .nav {
        overflow: auto;
    }

    .header-navigation .nav ul {
        position: static;
        display: block;
        margin: unset;
        padding: unset;
        width: 100%;
        list-style: none;
    }

    .header-navigation .nav div {
        width: 100%;
        height: 0;
        overflow: hidden;
    }

    .header-navigation .nav > li.active a {
        color: #D81B60;
        background-color: transparent;
        border-radius: 0;
    }

    .header-navigation .nav > li > a {
        font-weight: 700;
    }

    .header-navigation .nav > li.menu-item.has-children.open.waiting > a {
        background-color: #F5F5F5; /*#EDEDED;*/
        animation: blinker-bg 0.5s ease-out infinite;
    }

    .header-navigation .nav > li.menu-item.has-children.open.waiting > a:before {
        content: '\f0da\ \f0da\ \f0da';
        animation: blinker 0.5s ease-out infinite;
    }

    .header-navigation .nav > li.menu-item.has-children.open:not(.waiting) > a:before {
        content: '\f0d8'; /*'\f0d7';*/
    }

    .header-navigation .nav > li.menu-item.has-children > a:before {
        right: 1em;
    }

    .header-navigation .nav > li > div > a {
        display: none;
    }

    .header-navigation .nav li {
        float: unset;
        position: unset;
        display: block;
        margin: unset;
    }

    .header-navigation .nav a {
        position: relative;
        display: block;
        padding: 15px 25px 15px 20px;
        width: 100%;
        text-decoration: unset;
        color: #424242;
    }

    /*.header-navigation .nav li.open > a,*/
    .header-navigation .nav li a:hover,
    .header-navigation .nav li a:focus/*,
    /*.header-navigation .nav li a:active*/ {
        color: #1565C0;
    }

    .header-navigation .nav li a:hover,
        /*.header-navigation .nav li a:hover,*/
        /*.header-navigation .nav li a:focus,*/
        /*.header-navigation .nav li a:active,*/
    .header-navigation .nav li.open > a,
    .header-navigation .nav li.open a:hover/*,
    .header-navigation .nav li.open a:focus,
    .header-navigation .nav li.open a:active*/ {
        background-color: #F4F4F4;
    }

    .header-navigation .nav li.open > a:hover {
        background-color: #F0F0F0;
    }

    /*.header-navigation .nav li.open .sub-menu a {*/
    .header-navigation .nav li .sub-menu a {
        background-color: #FAFAFA;
    }

    /*.header-navigation .nav li.open a:hover {
        background-color: unset;
    }*/
}

@media (max-width: 389px) {

    .header-standard .container,
    .header-minimal .container {
        padding-right: 8px;
    }

    .header-navigation .nav a {
        padding-right: 20px;
        padding-left: 15px;
    }

    .header-navigation .nav > li > a .fa, .header-navigation .nav > .menu-item-has-children > a:before {
        right: 10px;
    }
}