.panel-overlay {
    pointer-events: none;
    opacity: 0;
    z-index: 51;
    transition: all .3s ease-in-out;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block !important;
}
.panel-overlay--visible {
    opacity: 1;
    pointer-events: auto;
    background: linear-gradient(to right, rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.75) 80%,rgba(0,0,0,0.8) 100%);
    backdrop-filter: blur(3px);
}
.panel-overlay--modal {
    width: 0;
    height: 0;
    opacity: 1;
    z-index: 41;
}

.side-panel {
    position: fixed;
    top: 0;
    z-index: 52;
    width: 300px;
    width: 25%;
    height: 100vh;
    transition: all .3s ease-in-out;
    overflow-y: auto;
}
.side-panel--left {
    left: -25%;
}

.side-panel--right {
    right: -25%;
}
.side-panel--right a {
    transition: all .3s ease-in-out;
}

.side-panel--overflow {
    right: 0;
    background-color: transparent;
}

.JS_panelIndex  .side-panel--left {
    left: 0;
}
.JS_panelIndex .main-site {
    left: 25%;
    position: relative;
}

.JS_panelNotes  .side-panel--right {
    right: 0;
}

@media (max-width: 900px) {
.side-panel {
    width: 50%;
}
.side-panel--left   { left: -50%;  }
.side-panel--right  { right: -50%; }

.JS_panelIndex .side-panel--left {
    left: 0;
    }
.JS_panelIndex .main-site {
    left: 50%;
    position: relative;
    }


.JS_panelNotes .side-panel--right {
    right: 0;
    }
}