.sidebar {
    width: var(--sidebar-width);
    height: 100vh;

    position: fixed;
    top: 0;
    left: 0;
    z-index: 7;

    background-color: rgb(var(--sidebar-backgrnd-color));

    -webkit-box-shadow: 0px 0px 5px 0px rgba(143, 143, 143, 0.15);
    -moz-box-shadow: 0px 0px 5px 0px rgba(143, 143, 143, 0.15);
    box-shadow: 0px 0px 5px 0px rgba(143, 143, 143, 0.15);

    transition-duration: 0.3s;
}

.sidebar.active {
    transform: translateX(0);
}

.responsive-cover {
    width: 100%;
    height: 100vh;

    display: none;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 6;

    background-color: rgba(128, 128, 128, 0.2);
}

.responsive-cover.active {
    display: block;
}

.app-title {
    width: 100%;
    height: var(--navbar-height);
    background-color: rgb(var(--primary-color));

    display: flex;
    justify-content: center;
    align-items: center;
}

.app-title span {
    color: white;
    text-transform: capitalize;
    font-size: 1.2rem;
}

.sidebar-title {
    width: 100%;
    height: auto;

    margin: 10px 0;
    padding-left: 10px;
}

.sidebar-title span {
    color: rgb(var(--link-text-color));
    text-transform: capitalize;
    font-weight: 600;
}

.link {
    width: 100%;
    height: 30px;

    display: flex;
    justify-content: start;
    align-items: center;

    padding-left: 10px;

    text-transform: capitalize;
    font-size: 1.2rem;
    color: rgb(var(--link-text-color));
    user-select: none;

    transition-duration: 0.3s;
}

.link:hover {
    color: rgb(var(--primary-color));
}

.link i {
    width: 30px;
    height: 100%;

    display: flex;
    justify-content: center;
    align-items: center;
}

.link.active {
    color: rgb(var(--primary-color));
}

.category-title {
    position: relative;
}

.category-title.active {
    color: rgb(var(--primary-color));
}

.category-title .fa-angle-right {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    transition-duration: 0.3s;
}

.category-title .fa-angle-right.active {
    transform: rotate(90deg) translateX(-50%);
}

.category-title:hover {
    color: rgb(var(--primary-color));
    cursor: pointer;
}

.category {
    width: 100%;
    height: auto;
    max-height: 0;

    padding-left: 40px;

    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

/* * ----------------- Responsive ----------------- * */

@media screen and (max-width: 835px) {
    .sidebar {
        transform: translateX(-100%);
    }

    .main {
        padding-left: var(--body-padding);
    }
}
