.menu-collapser {
    position: relative;
    z-index: 1000;
    height: 52px;
    font-size: 1.5rem;
    line-height: 50px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    color: white;
    padding-left: 6px;
    text-align: left;
    background-color: #3a4a50;
}

.collapse-button {
    background-color: white;
    position: absolute;
    top: 50%;
    padding: 4px 5px 4px 5px;
    font-size: 14px;
    text-align: center;
    border-radius: 2px;
    cursor: pointer;
    transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin-left: 5px;
}

    .collapse-button:hover, .collapse-button:focus {
        color: black;
        background-color: #c1d1d7;
    }

    .collapse-button .icon-bar {
        display: block;
        height: 2px;
        width: 21px;
        margin: 4px 0;
        background-color: black;
        border-radius: 1px;
    }

.menu-collapser div:nth-child(1) {
    margin-left: 51px;
}

ul.slimmenu {
    padding: 0;
    list-style-type: none;
    margin-bottom: 0;
}

    ul.slimmenu:before, ul.slimmenu:after {
        content: '';
        display: table;
    }

    ul.slimmenu:after {
        clear: both;
    }

    ul.slimmenu.collapsed {
        position: absolute;
        z-index: 1000;
        text-align: left;
    }

        ul.slimmenu.collapsed li {
            display: block;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            background-color: #425258;
        }

            ul.slimmenu.collapsed li > ul {
                position: static;
                display: none;
            }

            ul.slimmenu.collapsed li ul li {
                position: relative;
                left: -40px;
                border: none;
            }

            ul.slimmenu.collapsed li a {
                display: block;
                border-bottom: 1px solid #324248;
                box-sizing: border-box;
                -moz-box-sizing: border-box;
                -webkit-box-sizing: border-box;
                font-size: 18px !important;
                color: white;
                text-align: left;
            }
        ul.slimmenu.collapsed > li a:hover {
            background-color: #35464c;
            color: white;
        }
            ul.slimmenu.collapsed li ul li a {
                color: white !important;
                background-color: #36464c; /*Second sub-menu background*/
            }

                ul.slimmenu.collapsed li ul li a:hover {
                    background-color: #283a40 !important;
                    color: white !important;
                }

        ul.slimmenu.collapsed .has-submenu ul li ul li a {
            background-color: #2a393f; /*Third sub-menu background*/
        }

            ul.slimmenu.collapsed .has-submenu ul li ul li a:hover {
                background-color: #18262b !important;
                color: white;
            }

    ul.slimmenu li {
        position: relative;
        float: left;
        display: inline-block;
    }

        ul.slimmenu li ul {
            margin: 0;
            list-style-type: none;
        }

            ul.slimmenu li ul li {
                background-color: #4b595f !important;
                min-width: 242px;
                border-bottom: 1px solid #3a4a50;
            }

                ul.slimmenu li ul li a {
                    text-transform: none !important;
                    color: white !important;
                }

                ul.slimmenu li ul li ul li a {
                    text-transform: none !important;
                    line-height: 1.5;
                }

        ul.slimmenu li > ul {
            position: absolute;
            left: -40px;
            top: 100%;
            z-index: 999;
            display: none;
        }

            ul.slimmenu li > ul > li ul {
                position: absolute;
                left: 84%;
                top: 0;
                z-index: 999;
                display: none;
                width: 250px;
                min-width: 250px;
            }

                ul.slimmenu li > ul > li ul li a {
                    border-left: 1px solid #3a4a50;
                }

        ul.slimmenu li a {
            display: block;
            color: white;
            font-weight: normal;
            font-style: normal;
            transition: background-color 0.5s ease-out;
            -o-transition: background-color 0.5s ease-out;
            -moz-transition: background-color 0.5s ease-out;
            -webkit-transition: background-color 0.5s ease-out;
        }

            ul.slimmenu li a:hover {
                text-decoration: none;
            }

    ul.slimmenu > li a:hover {
        background-color: #172f38;
        color: white;
    }

.has-submenu ul li a:hover {
    background-color: #172f38 !important;
    color: black;
}

ul.slimmenu > li:first-child, ul.slimmenu > li.has-submenu + li {
    border-left: 0;
}

    .has-submenu > a:hover {
        cursor: default;
    }

@media (max-width:991px) {
    .has-submenu > a {
        pointer-events: none;
    }
}

ul.slimmenu.collapsed li .sub-toggle {
    background: none repeat scroll 0 0 #132a32;
    height: 45px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
    width: 35px;
    text-align: center;
    cursor: pointer;
}

ul.slimmenu.collapsed li ul li .sub-toggle {
    background: none repeat scroll 0 0 #132a32;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
    width: 35px;
    text-align: center;
    cursor: pointer;
    height: 45px;
}

    ul.slimmenu.collapsed li ul li .sub-toggle.expanded {
        height: 100%;
    }

ul.slimmenu.collapsed li .sub-toggle:before {
    content: '';
    display: inline-block;
    height: 100%;
    margin-right: -0.25em;
}

ul.slimmenu.collapsed li .sub-toggle > i {
    background-image: url(../images/sub-toggle.png);
    width: 15px;
    height: 13px;
    display: inline-block;
    color: white;
    font-size: 16px;
    vertical-align: top;
    margin-top: 18px;
}

ul.slimmenu.collapsed li .sub-toggle.expanded > i {
    background-image: url(../images/sub-toggle-top.png);
    width: 15px;
    height: 13px;
    display: inline-block;
    color: white;
    font-size: 16px;
    vertical-align: top;
    margin-top: 13px;
}

.active, .active a {
    color: #fff !important;
    background-color: #d54c1c;
}

/*---------------smaller screens-----------------------*/
@media (max-width:320px) {
    ul.slimmenu.collapsed {
        width: 250px;
    }

        ul.slimmenu.collapsed li {
            width: 250px !important;
        }
}

@media (min-width:361px) and (max-width:576px) {
    ul.slimmenu.collapsed {
        width: 300px;
    }
}

@media (max-width:576px) {
    ul.slimmenu.collapsed {
        left: 15px;
    }
}

@media (max-width:992px) {
    .menu-collapser {
        width: 100%;
        margin-right: 0;
        margin-top: 20px;
    }

    ul.slimmenu.collapsed li {
        width: 325px;
    }

    ul.slimmenu li a {
        padding: 9px 18px;
    }

    ul.slimmenu li > ul > li ul li a {
        background-color: #90436e;
        border-left: none;
    }
}



@media (min-width:768px) and (max-width:991px) {
    ul.slimmenu.collapsed {
        width: 364px;
    }

        ul.slimmenu.collapsed li {
            width: 325px;
        }

    ul.slimmenu {
        float: right;
    }
    /*
        ul.slimmenu li a {
            padding: 7px 11px;
        }
     */
    nav {
        margin-top: 20px;
    }
}

@media (min-width:992px) {
    ul.slimmenu li a {
        padding: 12px 13px;
        font-size: 1.05rem;
        font-weight:400;
    }
    ul.slimmenu li ul li a {
        line-height: 1;
    }
    ul.slimmenu li > ul > li ul li a {
        line-height: 1;
    }
    ul.slimmenu > li > a::after {
        content: '|';
        color: white;
        position: absolute;
        top: 10px;
        right: -2px;
        font-weight: 300;
    }

    ul.slimmenu > li:last-child > a::after {
        content: '';
    }
}
    @media (min-width:1200px) {
        ul.slimmenu li a {
                padding: 13px 29px;
    		font-size: 1.05rem;
    		font-weight: 400;
        }
    }

@media (min-width:1200px){
    ul.slimmenu > li > a::after {
        content: '|';
        color: white;
        position: absolute;
        top: 13px;
        right: -1px;
        font-weight: 300;
    }
    ul.slimmenu > li:last-child > a::after {
        content: '';      
    }
}