.nav {

    .nav-subheader {
        display: flex;
        align-items: center;
        height: 48px;
        font-weight: 500;
        padding-left: 24px;
        margin-top: 8px;
        font-size: 12px;
        white-space: nowrap;
    }

    .nav-item {

        .nav-link {
            text-decoration: none;
            display: flex;
            align-items: center;
            height: 48px;
            padding: 0 24px;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            user-select: none;
            color: currentColor;

            > span {
                flex: 1;
                white-space: nowrap;
            }

            &:hover {
                background-color: map-get($background, hover);
            }

            .mat-ripple-element {
                background-color: map-get($background, hover);
            }

            &.active {
                background-color: mat-color($accent);

                .mat-ripple-element {
                    background-color: mat-color($accent, default-contrast, 0.1);
                }

                &, .nav-link-icon {
                    color: mat-color($accent, default-contrast);
                }
            }

            .nav-link-icon {
                margin-right: 16px;
            }

            .nav-link-icon,
            .collapse-arrow {
                font-size: 16px;
                width: 16px;
                height: 16px;
                min-width: 16px;
                min-height: 16px;
                line-height: 16px;
            }
        }

        &.nav-collapse {
            display: block;

            > .children {

                > .nav-item {

                    > .nav-link {
                        padding-left: 56px;
                    }

                    > .children {

                        > .nav-item {

                            > .nav-link {
                                padding-left: 72px;
                            }
                        }
                    }
                }
            }
        }

    }

    > .nav-item {

        &.nav-collapse {
            background: transparent;
            transition: background 200ms ease-in-out;

            &.open {
                background: rgba(0, 0, 0, 0.12);
            }
        }
    }
}
