.scene_switcher  {
    position: relative;
    width: 7rem; height: 7rem;
    border-radius: 100px;
    border: 0.3rem solid white;
    margin: 0.5rem 0;
    opacity: 1;
    transition: transform var(--transition-duration), opacity var(--transition-duration);
    cursor: pointer;
    box-shadow: 0 0 8px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.2) inset;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.scene_switcher::before { 
    content: '';
    position: absolute;
    left: 50%; top: 50%; width: calc(100% + 0.8rem); height: calc(100% + 0.8rem);
    transform: translate(-50%,-50%);
    border-radius: 5.0rem;
    background-color: rgba(0,0,0,0.0);
    border: 0.4rem solid rgba(255,255,255,1);
    pointer-events: none;
    opacity: 0;
    z-index: 100;
}

.scene_switcher.active::before { 
    animation: animate_switcher_ring var(--transition-duration) forwards;
}

@keyframes animate_switcher_ring {
    from { opacity: 0; }
    to { opacity: 1; }
}

.scene_switcher::after { 
    content: attr(sc_title);
    display: block;
    position: absolute;
    left: 100%; top: 50%; width: auto; height: auto;
    transform: translate(1.3rem,-50%) scale(0);
    transform-origin: left;
    border-radius: 1.0rem;
    background-color: rgba(0,0,0,0.7);
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1.6rem;
    padding: 1.0rem 1.5rem;
    color: #ffffff;
    white-space: nowrap;
    transition: opacity calc(var(--transition-duration) / 2), transform calc(var(--transition-duration) / 2);
    transition-delay: 0.1s;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
}


@media screen and (max-width: 500px) {
    .scene_switcher  {
        width: 5rem; height: 5rem;
    }

    .scene_switcher::after {
        font-size: 2.0rem;
    }
}

/* .scene_switcher .title ::before { 
    content: '';
    position: absolute;
    left: 50%; bottom: 100%; transform: translate(-50%,0);
    width: 0px; height: 0px;
    border-style: solid;
    border-width: 0px 7px 10px 7px;
    border-color: transparent transparent rgba(0,0,0,0.7) transparent;
} */

.scene_switcher.active::after,
.scene_switcher:hover::after, 
.scene_switcher.open::after {
    opacity: 1;
    transform: translate(1.3rem,-50%) scale(1);
    transition-delay: 0.0s;
}



