.qm-scroll-menu {
    position: relative;
}

.qm-scroll-menu-container-wrapper {
    position: sticky;
    z-index: 1200;

    top: 50vh;
    left: 20px;

    height: 0px;
}

.qm-scroll-menu-container {
    position: relative;
    transform: translateY(-50%);

    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;
}

.qm-scroll-menu-container.qm-scroll-menu-state-bottom {
    opacity: 0;
}

.qm-scroll-menu-container.qm-scroll-menu-state-out {
    opacity: 0;
    display: none;
}

.qm-scroll-menu-sub-header {
    display: block;
    padding: 5px;

    color: #B6B6B6 !important;
    font-size: 1.0em;

    -webkit-transition: color 0.7s linear;
    -moz-transition: color 0.7s linear;
    -o-transition: color 0.7s linear;
    transition: color 0.7s linear;
}

.qm-scroll-menu-sub-header:hover {
    color: #595959 !important;
    text-decoration: none;
    cursor: pointer;
}

.qm-scroll-menu-sub-header.qm-scroll-menu-sub-header-active {
    color: #595959 !important;
}

.qm-scroll-menu-sub-header:first-child {
    margin-bottom: 60px;
    -webkit-transition: margin-bottom 0.5s ease-in-out;
    -moz-transition: margin-bottom 0.5s ease-in-out;
    -o-transition: margin-bottom 0.5s ease-in-out;
    transition: margin-bottom 0.5s ease-in-out;
}

.qm-scroll-menu-sub-header:last-child {
    margin-top: 60px;
    -webkit-transition: margin-top 0.5s ease-in-out;
    -moz-transition: margin-top 0.5s ease-in-out;
    -o-transition: margin-top 0.5s ease-in-out;
    transition: margin-top 0.5s ease-in-out;
}

.qm-scroll-menu-container.qm-scroll-menu-state-inner .qm-scroll-menu-sub-header:first-child {
    margin-bottom: 10px;
}

.qm-scroll-menu-container.qm-scroll-menu-state-inner .qm-scroll-menu-sub-header:last-child {
    margin-top: 10px;
}

.qm-scroll-menu-container .qm-scroll-menu-sub-prev, .qm-scroll-menu-container .qm-scroll-menu-sub-next {
    text-align: center;
}

.qm-scroll-menu-container .qm-scroll-menu-sub-next {
    border-top: 1px solid #E1E1E1;
}

.qm-scroll-menu-container .qm-scroll-menu-sub-prev {
    border-bottom: 1px solid #E1E1E1;
}

.qm-scroll-menu-sub-header-line {
    background-image: linear-gradient(#E1E1E1, #E1E1E1);
    background-size: 2px 100%;
    background-repeat: no-repeat;
    background-position: center center;
    width: 1.1em;

    height: 0px;

    -webkit-transition: height 0.5s ease-in-out;
    -moz-transition: height 0.5s ease-in-out;
    -o-transition: height 0.5s ease-in-out;
    transition: height 0.5s ease-in-out;
}


.qm-scroll-menu-sub-header.qm-scroll-menu-sub-header-active+.qm-scroll-menu-sub-header-line:not(:last-child) {
    height: 100px;
}

.qm-scroll-menu-sub h3, .qm-scroll-menu-sub p {
    padding-left: 15px;
    padding-right: 15px;
}