*,
*:after,
*::before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body,
.body-container,
.page-pusher,
.page-content {
    height: 100%;
}

.page-content {
    overflow-y: auto;
    background-color: #FAFAFA;
}

.page-content,
.page-content-inner {
    position: relative;
}

.body-container {
    position: relative;
    overflow: hidden;
}

.page-pusher {
    position: relative;
    left: 0;
    padding-top: 50px;
    z-index: 99;
    height: 100%;
    -webkit-transition: -webkit-transform 0.5s;
    -moz-transition: -moz-transform 0.5s;
    -o-transition: -o-transform 0.5s;
    transition: transform 0.5s;
}

    .page-pusher::after {
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 0;
        background: rgba(0,0,0,0.2);
        content: '';
        opacity: 0;
        -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
        -moz-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
        -o-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
        transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
    }

#sidebar-menu {
    overflow: auto;
    position: absolute;
    top: 66px;
    left: 0px;
    right: 0px;
    bottom: 20px;
    border-top: 1px solid #ddd;
}

    /*#sidebar-menu > ul > li label {
        padding: 1em;
        color: #606060;
        text-transform: uppercase;
        font-weight: 400;
        display: block;
        margin-bottom: 0;
    }*/

    #sidebar-menu > ul > li > a > i {
        font-size: 1.5em;
    }

    #sidebar-menu ul li > a > i {
        margin-right: 15px;
    }

.sidebar-open .page-pusher::after {
    width: 100%;
    height: 100%;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.sidebar {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 15px;
    z-index: 100;
    visibility: hidden;
    width: 350px;
    height: 100%;
    background: #fff;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
    color: #1d365d;
}

    .sidebar::after {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.2);
        content: '';
        opacity: 1;
        -webkit-transition: opacity 0.5s;
        -o-transition: opacity 0.5s;
        -moz-transition: opacity 0.5s;
        transition: opacity 0.5s;
    }

    .sidebar button, input, optgroup, select, textarea, .sidebar .btn-default {
        color: #1d365d;
    }

.sidebar-open .sidebar::after {
    width: 0;
    height: 0;
    opacity: 0;
    -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
    -moz-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
    -o-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
    transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
}

.sidebar ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .sidebar ul.nav-list {
        padding-left: 35px;
    }

.sidebar h2 {
    margin: 0;
    padding: 1em;
    color: rgba(0,0,0,0.4);
    -webkit-text-shadow: 0 0 1px rgba(0,0,0,0.1);
    text-shadow: 0 0 1px rgba(0,0,0,0.1);
    font-weight: 300;
    font-size: 2em;
}

.sidebar ul li a {
    display: block;
    padding: 0.71em 0.71em 0.71em 1.2em;
    outline: none;
    box-shadow: inset 0 -1px rgba(44, 62, 80, 0.11);
    color: #1d365d;
    -webkit-text-shadow: 0 0 1px rgba(255,255,255,0.1);
    text-shadow: 0 0 1px rgba(255,255,255,0.1);
    /*letter-spacing: 1px;*/
    font-weight: 400;
    -webkit-transition: background 0.3s, box-shadow 0.3s;
    -moz-transition: background 0.3s, box-shadow 0.3s;
    -o-transition: background 0.3s, box-shadow 0.3s;
    transition: background 0.3s, box-shadow 0.3s;
}

#sidebar-menu > ul > li > a {
    padding: 1em 1em 1em 1.2em;
    box-shadow: 5px 1px rgba(44, 62, 80, 0.11);
}

.sidebar ul li:first-child a {
    /*box-shadow: inset 0 -1px rgba(0,0,0,0.2), inset 0 1px rgba(0,0,0,0.2);*/
}

.sidebar ul li a:hover {
    background: #1d365d;
    color: #fff;
}

.sb-effect.body-container {
    -webkit-perspective: 1500px;
    -moz-perspective: 1500px;
    -ms-perspective: 1500px;
    perspective: 1500px;
}

.sb-effect .page-pusher {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.sb-effect.sidebar-open .page-pusher {
    -webkit-transform: translate3d(0, 0, -300px);
    -moz-transform: translate3d(0, 0, -300px);
    -o-transform: translate3d(0, 0, -300px);
    transform: translate3d(0, 0, -300px);
}

.sb-effect.sidebar {
    opacity: 1;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -o-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.sb-effect.sidebar-open .sb-effect.sidebar {
    visibility: visible;
    -webkit-transition: -webkit-transform 0.5s;
    -moz-transition: transform 0.5s;
    -o-transition: transform 0.5s;
    transition: transform 0.5s;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.sb-effect.sidebar::after {
    display: none;
}

.no-csstransforms3d .page-pusher,
.no-js .page-pusher {
    padding-left: 300px;
}

/**/

#sidebar-trigger {
    position: relative;
    padding: 1.820625rem 1.5rem !important;
    transition: 0.25s !important;
    cursor: pointer;
    -webkit-user-select: none;
    margin-top: -15px;
}

    #sidebar-trigger .navicon:before, #sidebar-trigger .navicon:after {
        transition: 0.25s;
    }

.navicon {
    position: relative;
    width: 2.15em;
    width: 25px;
    height: .28em;
    background: #850526;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    border-radius: 1em;
}

    /*.navicon-button:hover {
        transition: 0.5s;
        opacity: 1;
    }

        .navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
            transition: 0.25s;
        }

        .navicon-button:hover .navicon:after {
            top: -.825rem;
        }

        .navicon-button:hover .navicon:before {
            top: .825rem;
        }*/

    .navicon:after, .navicon:before {
        display: block;
        content: "";
        height: .3625rem;
        /*width: 3rem;*/
        width: 2.5rem;
        background: #850526;
        position: absolute;
        z-index: -1;
        transition: 0.5s 0.25s;
        border-radius: 1rem;
    }

    .navicon:after {
        top: -.825rem;
    }

    .navicon:before {
        top: .825rem;
    }

.open:not(.steps) .navicon:before,
.open:not(.steps) .navicon:after {
    top: 0 !important;
}

.open .navicon:before,
.open .navicon:after {
    transition: 0.5s;
}

.open .navicon {
    background: transparent;
}

    .open .navicon:after {
        -webkit-transform: rotate(45deg);
    }

    .open .navicon:before {
        -webkit-transform: rotate(-45deg);
    }

.navbar-default .navbar-nav > li > a#sidebar-trigger:hover,
.navbar-default .navbar-nav > li > a#sidebar-trigger:focus {
    background-color: transparent;
    color: #850526;
}
