.library .title {
    font-size: 12px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding-bottom: 10px;
}

.library .topic {
    padding-left: 1px;
}

.library .topic.open {
    padding-bottom: 35px;
}

.library .topic-title {
    font-size: 18px;
    line-height: 24px;
    padding-bottom: 18px;
    cursor: pointer;
}

.library .topic.open .topic-title {
    padding-bottom: 16px;
    font-weight: 600;
}

.library .topic-title:hover {
    text-decoration: underline;
}

.library .chapter {
    display: none;
    padding-left: 1px;
}

.library .chapter.open {
    border-bottom: 1px solid #E5E7EB;
    padding-bottom: 17px;
    margin-bottom: 20px;
}

.library .topic.open .chapter {
    display: block;
}

.library .chapter-title {
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 23px;
    padding-bottom: 14px;
    cursor: pointer;
}

.library .chapter-title:hover {
    text-decoration: underline;
}

.library .chapter-title img {
    width: 17px;
    height: 17px;
    margin-left: auto;
    transform: rotateX(180deg);
    transition: transform .1s linear;
}

.library .chapter.open .chapter-title {
    padding-bottom: 10px;
    font-weight: 600;
}

.library .chapter.open .chapter-title img {
    transform: rotateX(0deg);
}

.library .page {
    display: none;
    align-items: center;
    cursor: pointer;
    padding-bottom: 11px;
}

.library .chapter.open .page {
    display: flex;
}

.library .page .dot {
    opacity: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #007AFF;
    margin-right: 10px;
}

.library .page span {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.library .page:hover span {
    text-decoration: underline;
}

.library .page.active .dot {
    opacity: 1;
}

.library .page.active span {
    color: #007AFF;
}



#library-view {
    display: none;
    width: 100%;
    height: 100%;
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr;
    padding: 16px;
}

#library-view .search-bar {
    margin-bottom: 24px;
}



@media only screen and (max-width: 720px) {

    .library .topic-title:hover,
    .library .chapter-title:hover,
    .library .page:hover span {
        text-decoration: unset;
    }



    #library-view {
        display: grid;
    }
}
