/* ## MENU-OPENER ## */
:root {
    --color-bg-menu: #fff;
    --color-font-menu: var(--color-default);
    --color-accent-menu: var(--color-client);
}

.menu-opener {
    display: none;
    width: 30px;
    height: 30px;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
    background: none;
    border: none;
    margin: 0 10px;
}
.menu-opener.open {z-index: 999999;}

.menu-opener span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: var(--color-accent-menu);
    border-radius: 3px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.menu-opener span:nth-child(1) {top: 5px;}
.menu-opener span:nth-child(2), .menu-opener span:nth-child(3) {top: 13px;}
.menu-opener span:nth-child(4) {top: 21px;}
.menu-opener.open span:nth-child(1) {top: 12px; width: 0; left: 50%;}
.menu-opener.open span:nth-child(2) {
    transform: rotate(45deg);
}
.menu-opener.open span:nth-child(3) {
    transform: rotate(-45deg);
}
.menu-opener.open span:nth-child(4) {
    top: 10px;
    width: 0;
    left: 50%;
}

/* ### MAIN-MENU ### */
.main-menu {
    position: relative;
    z-index: 101;
}

/* ### BX-SUBMENU-BTN ### */
.bx-submenu-btn {display: flex; flex-wrap: wrap;}
.bx-submenu-btn .btn {margin-bottom: 2px;}
.bx-submenu-btn .btn-group {min-width: 120px;}
.bx-submenu-btn .btn:not(.dropdown-toggle-split):not(#btnBackSubMenu) {min-width: 120px;}
.bx-submenu-btn .btn-group .btn {border-left: 1px solid rgba(255, 255, 255, 0.5); border-right: 1px solid rgba(255, 255, 255, 0.5);}
.bx-submenu-btn .btn-group .btn:first-child {border-left: none;}
.bx-submenu-btn .btn-group .btn:last-child {border-right: none;}

/* Mobile first layout SmartMenus Core CSS (it's not recommended editing these rules)
   You need this once per page no matter how many menu trees or different themes you use.
-------------------------------------------------------------------------------------------*/

.sm {box-sizing: border-box;position: relative;z-index: 9999;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
.sm, .sm ul, .sm li {display: block;list-style: none;margin: 0;padding: 0;line-height: normal;direction: ltr;text-align: left;}
.sm-rtl, .sm-rtl ul, .sm-rtl li {direction: rtl;text-align: right;}
.sm > li > h1, .sm > li > h2, .sm > li > h3, .sm > li > h4, .sm > li > h5, .sm > li > h6 {margin: 0;padding: 0;}
.sm ul {display: none;}
.sm li, .sm a {position: relative;}
.sm a {display: block;}
.sm a.disabled {cursor: default;}
.sm::after {content: "";display: block;height: 0;font: 0px/0 serif;clear: both;overflow: hidden;}
.sm *, .sm *::before, .sm *::after {box-sizing: inherit;}

.sm-clean {
    background: var(--color-bg-menu);
}
.sm-clean a, .sm-clean a:hover, .sm-clean a:focus, .sm-clean a:active, .sm-clean a:not([href]) {
    padding: 10px 20px;
    /* make room for the toggle button (sub indicator) */
    padding-right: 58px;
    color: var(--color-font-menu);
    font-size: 16px;
    font-weight: normal;
    line-height: normal;
    text-decoration: none;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
}

.sm-clean a:hover, .sm-clean a:focus, .sm-clean a:active, .sm-clean a.highlighted, .sm-clean a.current, .sm-clean a.current:not([href]), .sm-clean a.current:not([href]):hover {
    color: var(--color-accent-menu);
}
.sm-clean a.disabled {
    color: #bbbbbb;
}
.sm-clean i {
    color: var(--color-accent-menu);
    font-size: 18px;
    margin-right: 15px;
    text-align: center;
    width: 1.25em;
}
.sm-clean a .sub-arrow {
    position: absolute;
    top: 50%;
    margin-top: -17px;
    left: auto;
    right: 4px;
    width: 34px;
    height: 34px;
    overflow: hidden;
    font: bold 16px/34px monospace !important;
    text-align: center;
    text-shadow: none;
    background: rgba(229, 229, 229, 0.5);
    border-radius: 5px;
}
.sm-clean a .sub-arrow::before {
    content: '+';
}
.sm-clean a.highlighted .sub-arrow::before {
    content: '-';
}
.sm-clean li {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.sm-clean > li:first-child {
    border-top: 0;
}
.sm-clean ul {
    background: rgba(162, 162, 162, 0.1);
}
.sm-clean ul a, .sm-clean ul a:hover, .sm-clean ul a:focus, .sm-clean ul a:active {
    font-size: 14px;
    padding-left: 40px;
}

.sm-clean ul ul ul a,
.sm-clean ul ul ul a:hover,
.sm-clean ul ul ul a:focus,
.sm-clean ul ul ul a:active {
    border-left: 24px solid transparent;
}
.sm-clean ul ul ul ul a,
.sm-clean ul ul ul ul a:hover,
.sm-clean ul ul ul ul a:focus,
.sm-clean ul ul ul ul a:active {
    border-left: 32px solid transparent;
}
.sm-clean ul ul ul ul ul a,
.sm-clean ul ul ul ul ul a:hover,
.sm-clean ul ul ul ul ul a:focus,
.sm-clean ul ul ul ul ul a:active {
    border-left: 40px solid transparent;
}

@media (min-width: 1200px) {
    /* Switch to desktop layout
    -----------------------------------------------
       These transform the menu tree from
       collapsible to desktop (navbar + dropdowns)
    -----------------------------------------------*/
    /* start... (it's not recommended editing these rules) */
    .sm-clean ul {
        position: absolute;
        width: 12em;
    }

    .sm-clean li {
        float: left;
    }

    .sm-clean.sm-rtl li {
        float: right;
    }

    .sm-clean ul li, .sm-clean.sm-rtl ul li, .sm-clean.sm-vertical li {
        float: none;
    }

    .sm-clean a {
        white-space: nowrap;
    }

    .sm-clean ul a, .sm-clean.sm-vertical a {
        white-space: normal;
    }

    .sm-clean .sm-nowrap > li > a, .sm-clean .sm-nowrap > li > :not(ul) a {
        white-space: nowrap;
    }
    .sm-clean li:last-child a {border: none;}

    /* ...end */
    .sm-clean {
        padding: 0 10px;
        background: var(--color-bg-menu);
        border-radius: 5px;
    }
    .sm-clean a, .sm-clean a:hover, .sm-clean a:focus, .sm-clean a:active, .sm-clean a.highlighted {
        padding: 12px 12px;
    }
    .sm-clean a.has-submenu {
        padding-right: 20px !important;
    }
    .sm-clean a .sub-arrow {
        top: 50%;
        margin-top: -2px;
        right: 12px;
        width: 0;
        height: 0;
        border-width: 4px;
        border-style: solid dashed dashed dashed;
        border-color: var(--color-bg-menu) transparent transparent transparent;
        background: transparent;
        border-radius: 0;
    }
    .sm-clean a .sub-arrow::before {
        display: none;
    }
    .sm-clean li {
        border-top: 0;
    }
    .sm-clean > li > ul::before,
    .sm-clean > li > ul::after {
        content: '';
        position: absolute;
        top: -18px;
        left: 30px;
        width: 0;
        height: 0;
        overflow: hidden;
        border-width: 9px;
        border-style: dashed dashed solid dashed;
        border-color: transparent transparent #ccc transparent;
    }
    .sm-clean > li > ul::after {
        top: -16px;
        left: 31px;
        border-width: 8px;
        border-color: transparent transparent #ccc transparent;
    }
    .sm-clean ul {
        border: 1px solid #ccc;
        background: var(--color-bg-menu);
        border-radius: 5px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }
    .sm-clean ul a, .sm-clean ul a:hover, .sm-clean ul a:focus, .sm-clean ul a:active, .sm-clean ul a.highlighted {
        padding: 10px;
    }
    .sm-clean ul a:hover, .sm-clean ul a:focus, .sm-clean ul a:active, .sm-clean ul a.highlighted {
        background: rgba(255, 255, 255, 0.1);
        color: var(--color-accent-menu);
    }
    .sm-clean ul a.current {
        color: var(--color-accent-menu);
    }
    .sm-clean ul a.disabled {
        background: var(--color-bg-menu);
        color: #cccccc;
    }
    .sm-clean ul a.has-submenu {
        padding-right: 25px !important;
    }
    .sm-clean ul a .sub-arrow {
        right: 8px;
        top: 50%;
        margin-top: -5px;
        border-width: 5px;
        border-style: dashed dashed dashed solid;
        border-color: transparent transparent transparent #555555;
    }
    .sm-clean .scroll-up,
    .sm-clean .scroll-down {
        position: absolute;
        display: none;
        visibility: hidden;
        overflow: hidden;
        background: #212529;
        height: 20px;
    }
    .sm-clean .scroll-up:hover,
    .sm-clean .scroll-down:hover {
        background: #212529;
    }
    .sm-clean .scroll-up:hover .scroll-up-arrow {
        border-color: transparent transparent #ccc transparent;
    }
    .sm-clean .scroll-down:hover .scroll-down-arrow {
        border-color: #ccc transparent transparent transparent;
    }
    .sm-clean .scroll-up-arrow,
    .sm-clean .scroll-down-arrow {
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -6px;
        width: 0;
        height: 0;
        overflow: hidden;
        border-width: 6px;
        border-style: dashed dashed solid dashed;
        border-color: transparent transparent #ccc transparent;
    }
    .sm-clean .scroll-down-arrow {
        top: 8px;
        border-style: solid dashed dashed dashed;
        border-color: #ccc transparent transparent transparent;
    }
    .sm-clean.sm-rtl a.has-submenu {
        padding-right: 12px;
        padding-left: 24px;
    }
    .sm-clean.sm-rtl a .sub-arrow {
        right: auto;
        left: 12px;
    }
    .sm-clean.sm-rtl.sm-vertical a.has-submenu {
        padding: 10px 20px;
    }
    .sm-clean.sm-rtl.sm-vertical a .sub-arrow {
        right: auto;
        left: 8px;
        border-style: dashed solid dashed dashed;
        border-color: transparent #ccc transparent transparent;
    }
    .sm-clean.sm-rtl > li > ul::before {
        left: auto;
        right: 30px;
    }
    .sm-clean.sm-rtl > li > ul::after {
        left: auto;
        right: 31px;
    }
    .sm-clean.sm-rtl ul a.has-submenu {
        padding: 10px 20px !important;
    }
    .sm-clean.sm-rtl ul a .sub-arrow {
        right: auto;
        left: 8px;
        border-style: dashed solid dashed dashed;
        border-color: transparent #ccc transparent transparent;
    }
    .sm-clean.sm-vertical {
        padding: 0;
        border-radius: 0 0 5px 0;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }
    .sm-clean.sm-vertical a {
        padding: 10px 15px;
    }
    .sm-clean.sm-vertical a:hover, .sm-clean.sm-vertical a:focus, .sm-clean.sm-vertical a:active, .sm-clean.sm-vertical a.highlighted {
        background: rgba(255, 255, 255, 0.1);
    }
    .sm-clean.sm-vertical a.disabled {
        background: #eeeeee;
    }
    .sm-clean.sm-vertical a .sub-arrow {
        right: 8px;
        top: 50%;
        margin-top: -5px;
        border-width: 5px;
        border-style: dashed dashed dashed solid;
        border-color: transparent transparent transparent #ccc;
    }
    .sm-clean.sm-vertical > li > ul::before,
    .sm-clean.sm-vertical > li > ul::after {
        display: none;
    }
    .sm-clean.sm-vertical ul a {
        padding: 10px;
    }
    .sm-clean.sm-vertical ul a:hover, .sm-clean.sm-vertical ul a:focus, .sm-clean.sm-vertical ul a:active, .sm-clean.sm-vertical ul a.highlighted {
        background: rgba(255, 255, 255, 0.1);
    }
    .sm-clean.sm-vertical ul a.disabled {
        background: var(--color-bg-menu);
    }
}
/*# sourceMappingURL=sm-clean.css.map */

/* ONLY MOBILE */
@media (max-width: 1199px) {
    body.open-menu {overflow-y: hidden;}
    .menu-opener {display: inline-block;}

    /* ### MAIN-MENU ### */
    .main-menu {
        position: fixed;
        z-index: 101;
        background: var(--color-bg-menu);
        top: 0;
        left: 0;
        width: 100%;
        height: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .35s, visibility .35s, height .35s;
        transition: opacity .35s, visibility .35s, height .35s;
        overflow: hidden;
        padding-top: 60px;
    }
    .main-menu.open {
        opacity: 1;
        visibility: visible;
        height: 100%;
        overflow-y: auto;
    }

    .sm .has-submenu.current + ul {
        display: block;
    }
}

@media (max-width: 575px) {
    .bx-submenu-btn .btn-group {flex: 1 0 auto; min-width: calc(50% - 7px);}
    .bx-submenu-btn .btn:not(.dropdown-toggle-split):not(#btnBackSubMenu) {flex: 1 0 auto; min-width: calc(50% - 7px);}

}