.toc__wrapper {
    border-radius: 8px;
    background: rgba(242,242,247,0.5);
    padding: 15px;
    box-sizing: border-box;
    max-height: calc(100vh - 30px);
    overflow: auto;
}

.toc__wrapper .toc-title {
    font-size: 17px;
    font-weight: 600;
    color: #000;
    margin-bottom: 15px;
    padding-left: 20px;
}

.toc__wrapper .toc__content {
    padding-left: 20px;
}

.toc__wrapper .toc__content li > ul {
    /*padding-left: 54px;*/
    padding-left: 15px;
}

.toc__wrapper .toc__content li {
    padding: 0;
}

.toc__wrapper .toc__content li + li {

}

.toc__wrapper .toc__content li a {
    font-size: 17px;
    color: #8b8b8b;
    display: block;
    position: relative;
    padding: 7px 0;
}

.toc__wrapper .toc__content li a:hover {
    text-decoration: underline;
}

.toc__wrapper .toc__content li a.active {
    color: #3284ff;
}


.toc__wrapper i.right_arrow {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.toc__wrapper i.down_arrow {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.toc__wrapper .collapse-btn {
    padding: 0;
    position: absolute;
    left: -20px;
     top: 7px;
    cursor: pointer;
    border: 0;
    background: 0 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}
.toc__wrapper .collapse-btn i.arrow {
    border: solid #8b8b8b;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
}

.toc__wrapper a.active_parent {
    background-color: #586eab;
    box-shadow: 0 2px 6px #666;
    color: #fff;
}

.toc_wrap {
    width: 305px;
    padding: 10px 0;
    border-radius: 1px;
    /*box-shadow: 0 5px 10px rgba(20,20,20,.4);*/
    overflow: hidden;
    background-color:white;
}
.toc_wrap a.active {
    background-color: #586eab;
    box-shadow: 0 2px 6px #666;
    color: #fff;
}
.toc_wrap a.active_parent {
    background-color: #586eab;
    box-shadow: 0 2px 6px #666;
    color: #fff;
}
.toc_wrap li {
    list-style-type: none !important;
    width: 100%;
    margin: 0;
}
.toc_wrap li a {
    width: 100%;
    float: left;
    padding: 2% 5%;
    box-sizing: border-box;
}
.toc_wrap li {
    font-size: 0.9rem;
    font-weight: bold;
}
.toc_wrap li ul li {
    font-size: 0.7rem;
}
.toc_wrap li ul {
    margin: 0;
}
.toc_wrap ul li a 
{
    padding: 2% 8%;
}
.toc_wrap ul
{
    display: none;
}

/* Responsve */
@media screen and (max-width: 768px) {
    .toc__wrapper {
        height: 100%;
        max-height: 100%;
    }
}