﻿/* LAYOUT */

body {
    overflow-x: hidden;
}

    body.fixed-nav {
        padding-top: 56px;
    }

main.container-fluid {
    min-height: calc(100vh - 120px);
}

@media (min-width: 992px) {
    main.container-fluid {
        margin-left: 215px;
        width: auto;
    }
}

/* SCROLL TO TOP */

.scroll-to-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    display: none;
    width: 50px;
    height: 50px;
    text-align: center;
    color: white;
    background: rgba(52, 58, 64, 0.15);
    line-height: 45px;
}

    .scroll-to-top:focus, .scroll-to-top:hover {
        color: white;
    }

    .scroll-to-top:hover {
        background: #343a40;
    }

    .scroll-to-top i {
        font-weight: 800;
    }

/* SIDEBAR */

#mainNav .navbar-collapse .navbar-nav .nav-item .nav-link {
    cursor: pointer;
}

#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
    float: right;
    content: '\f106';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
}

#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse.collapsed:after {
    content: '\f107';
}

#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level {
    padding-left: 0;
}

    #mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a,
    #mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
        display: block;
        padding: 0.5em 0;
    }

        #mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:focus, #mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:hover,
        #mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:focus,
        #mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:hover {
            text-decoration: none;
        }

    #mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a {
        padding-left: 1em;
    }

    #mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
        padding-left: 2em;
    }

#mainNav .navbar-collapse .sidenav-toggler {
    display: none;
}

#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
    position: relative;
    min-width: 45px;
}

    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
        float: right;
        width: auto;
        content: '\f107';
        border: none;
        font-family: 'Font Awesome 5 Pro';
        font-weight: 500;
    }

    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link .indicator {
        position: absolute;
        top: 5px;
        left: 21px;
        font-size: 10px;
    }

#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown.show > .nav-link:after {
    content: '\f106';
}

#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
    overflow: hidden;
    max-width: none;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {
    #mainNav .navbar-collapse .navbar-sidenav {
        border-right: 1px solid #dee2e6 !important;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 60px;
    }

        #mainNav .navbar-collapse .navbar-sidenav > .nav-item {
            width: 215px;
            padding: 0;
        }

            #mainNav .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
                padding: .5em .15em;
            }

            #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
            #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
                padding-left: 0;
                list-style: none;
            }

                #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li,
                #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li {
                    width: 215px;
                }

                    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
                    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
                        padding: 1em;
                    }

                    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a {
                        padding-left: 2.75em;
                    }

                    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
                        padding-left: 3.75em;
                    }

    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
        min-width: 0;
    }

        #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
            width: 24px;
            text-align: center;
        }

    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
        max-width: 300px;
    }

    #mainNav.fixed-top .navbar-sidenav {
        height: calc(100vh - 116px);
        padding-bottom: 130px;
        overflow: hidden;
        overflow-y: auto;
    }

    #mainNav.fixed-top .sidenav-toggler {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: calc(100vh - 56px);
    }

        #mainNav.fixed-top .sidenav-toggler > .nav-item {
            width: 215px;
            padding: 0;
        }

            #mainNav.fixed-top .sidenav-toggler > .nav-item > .nav-link {
                padding: 1em;
            }

    #mainNav.static-top .sidenav-toggler {
        display: flex;
    }
}

@media (max-width: 992px) {
    #mainNav .navbar-collapse {
        max-height: calc(100vh - 65px);
    }

    .navbar-nav.navbar-sidenav.shadow-sm {
    }

    .navbar-nav.navbar-sidenav.shadow-sm {
        box-shadow: none !important;
    }
}

body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler {
    overflow-x: hidden;
    width: 60px;
}

    body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-item,
    body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-link {
        width: 60px !important;
    }

body.sidenav-toggled #mainNav.fixed-top #sidenavToggler i {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: 'FlipH';
}

#mainNav.static-top .sidenav-toggler {
    display: none;
}

body.sidenav-toggled #mainNav.static-top #sidenavToggler i {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: 'FlipH';
}

@media (min-width: 992px) {
    main.container-fluid {
        margin-left: 215px;
    }
}

.navbar-sidenav-tooltip.show {
    display: none;
}

@media (min-width: 992px) {
    body.sidenav-toggled main.container-fluid {
        margin-left: 60px;
    }
}

body.sidenav-toggled .navbar-sidenav {
    width: 60px;
}

    body.sidenav-toggled .navbar-sidenav .nav-link-text {
        display: none;
    }

    body.sidenav-toggled .navbar-sidenav .nav-item,
    body.sidenav-toggled .navbar-sidenav .nav-link {
        width: 60px !important;
    }

        body.sidenav-toggled .navbar-sidenav .nav-item:after,
        body.sidenav-toggled .navbar-sidenav .nav-link:after {
            display: none;
        }

    body.sidenav-toggled .navbar-sidenav .nav-item {
        white-space: nowrap;
    }

body.sidenav-toggled .navbar-sidenav-tooltip.show {
    display: flex;
}

/* FOOTER */

footer.sticky-footer {
main.container-fluid {
    min-height: calc(100vh - 120px);
}

@media (min-width: 992px) {
    main.container-fluid {
        margin-left: 185px;
        width: auto;
    }
}

@media (min-width: 992px) {
    footer.sticky-footer {
        width: calc(100% + 185px);
    }
}

@media (min-width: 992px) {
    body.sidenav-toggled footer.sticky-footer {
        width: calc(100% + 60px);
    }
}
