/* Navigation Dots */
#nav-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    margin: 0;
    padding: 0;
}

#nav-dots ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 15px 0 0 15px;
    margin: auto;
    padding: 10px;
    background: rgba(0, 0, 0, .3);
    list-style: none;
}

.nav__dot {
    cursor: pointer;
    background: #6597b0;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    margin: 10px auto;
}

.nav__dot--active {
    -webkit-animation-name: active;
    animation-name: active;
    -webkit-animation: active 1s ease-in-out 75ms;
    animation: active 1s ease-in-out 75ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

/* ================================================================ */
/* animation for active dot */

@-webkit-keyframes active {
    from {
        opacity: 0;
        -webkit-transform: scale(.3);
        transform: scale(.3);
        -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #519ecf, 0 0 0 10px rgba(255, 255, 255, .5);
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #519ecf, 0 0 0 10px rgba(255, 255, 255, .5);
    }
    50% {
        opacity: .5;
        -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #519ecf, 0 0 0 10px rgba(255, 255, 255, .5);
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #519ecf, 0 0 0 10px rgba(255, 255, 255, .5);
    }
    100% {
        opacity: 1;
        background: #DCDCDC;
        -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 0 1px 1px #DCDCDC, 0 0 0 1px rgba(255, 255, 255, .5);
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 0 1px 1px #DCDCDC, 0 0 0 1px rgba(255, 255, 255, .5);
    }
}

@keyframes active {
    from {
        opacity: 0;
        -webkit-transform: scale(.3);
        transform: scale(.3);
        -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #DCDCDC, 0 0 0 10px rgba(255, 255, 255, .5);
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #DCDCDC, 0 0 0 10px rgba(255, 255, 255, .5);
    }
    50% {
        opacity: .5;
        -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #DCDCDC, 0 0 0 10px rgba(255, 255, 255, .5);
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .1), 0 0 10px 10px #DCDCDC, 0 0 0 10px rgba(255, 255, 255, .5);
    }
    100% {
        opacity: 1;
        background: #DCDCDC;
    }
}
/* ================================================================ */