:root {

    --slider-height: 270px;
    --floor-selection-height: 280px;
    --floor-transition-duration: 0.3s;

}

#floorSelectionContainer {

    position: absolute;

    display: none;
    gap: 0px;
    grid-template-columns: 150px var(--titleBar-height);
    grid-template-rows: 1fr var(--floor-selection-height) 1fr;
    grid-template-areas:
        "top top"
        "floorList floorSlider"
        "bottom bottom";

    align-items: center;

    width: auto;
    height: 100vh;
    right: var(--titleBar-leftAndRight);

    overflow: visible;

    pointer-events: none;

}


#floorMobileToggle,
#floorControlSelected {

    display: none;

}



#floorSelectionHover {

    grid-area: 2 / 1 / 3 / 3;

    display: block;

    width: 100%;
    height: 100%;

    pointer-events: all;

}


#floorSliderBackground {

    grid-area: floorSlider;

    width: 100%;
    height: 100%;

    border-radius: var(--border-radius);
    background-color: var(--background-rgb);
    background-color: var(--background-rgba);

    pointer-events: all;

    -webkit-transition: border-radius var(--floor-transition-duration);
    transition: border-radius var(--floor-transition-duration);
}



#floorSelectionContainer:hover #floorSliderBackground {

    border-radius: 0 var(--border-radius) var(--border-radius) 0;

}



#floorSliderThumbs {

    grid-area: floorSlider;

    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;

    width: unset;
    height: var(--slider-height);
    margin-left: unset;

    pointer-events: all;

}



#floorSliderThumbs .thumb {

    width: 28px;
    height: 28px;
    border-radius: 14px;

    background-color: var(--highlight-rgb);

}



#floorSliderThumbTexts {

    grid-area: floorSlider;

    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    line-height: 30px;

    width: unset;
    height: var(--slider-height);
    margin-left: unset;

    pointer-events: all;

}



#floorSliderThumbTexts .text {

    font-weight: 300;
    font-size: 110%;

    width: 26px;
    height: 30px;

    padding-right: 4px;

    color: var(--background-rgb);

    pointer-events: none;
    z-index: 999;

}



#floorSliderThumbTexts .text.zero {

    width: 30px;
    padding-right: 0px;

}



#floorSliderThumbTexts .text.current {

    font-weight: 400;
    color: var(--icon-rgb);

}






/* FLOOR LIST */

#floorList {

    grid-area: floorList;
    justify-self: end;

    display: block;
    position: absolute;

    height: 100%;

    overflow-x: hidden;
    overflow-y: auto;

    -webkit-transform-origin: right;
    -ms-transform-origin: right;
    transform-origin: right;

    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 0.0;

    -webkit-transition: transform var(--floor-transition-duration) ease-in-out,
        opacity var(--floor-transition-duration) ease-in-out;
    transition: transform var(--floor-transition-duration) ease-in-out,
        opacity var(--floor-transition-duration) ease-in-out;

    z-index: 10;
    pointer-events: all;

}


#floorList>ul {

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;

    height: 100%;
    margin: 0;
    padding: 0;
}


#floorSelectionContainer:hover #floorList {

    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    opacity: 1.0;

}



#floorList .floor {

    height: var(--titleBar-height);

    border-radius: var(--border-radius);

    background-color: var(--background-rgb);
    background-color: var(--background-rgba);

    -webkit-transition: border-radius var(--floor-transition-duration);
    transition: border-radius var(--floor-transition-duration);

}



#floorSelectionContainer:hover #floorList .floor {

    border-radius: var(--border-radius) 0 0 var(--border-radius);

}




#floorList .floor .text {

    font-weight: 300;
    text-align: end;
    line-height: var(--titleBar-height);
    text-overflow: ellipsis;
    white-space: nowrap;

    height: 100%;
    padding-left: 20px;
    padding-right: 10px;

    overflow: hidden;

}

#floorList .floor.current {
    color: var(--hover-rgb);
}

#floorList .floor.current .text {
    font-weight: 600;
}




/* VIEW CONTROL SLIDER */

#floorSliderContainer {

    grid-area: floorSlider;

    display: inline-block;
    position: absolute;

    width: 100%;
    height: var(--floor-selection-height);

    overflow: visible;
    pointer-events: all;

}





/* CUSTOM SLIDER STYLING */

#floorSlider {
    position: absolute;
    cursor: pointer;
    -webkit-appearance: none;
    margin: 0px 0px;

    /* slider height since rotated */
    width: var(--slider-height);
    /* slider width since rotated */
    height: var(--titleBar-height);
    /* offset needed after rotation */
    left: var(--titleBar-height);
    /* top offset is 0.5*(height von Container - width) */
    top: 5px;

    background: rgba(0, 0, 0, 0);

    -webkit-transform-origin: 0px 0px;
    -ms-transform-origin: 0px 0px;
    transform-origin: 0px 0px;

    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);

}

#floorSlider:focus {
    outline: none;
}

#floorSlider::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: var(--highlight-rgb);
    border-radius: 2px;
}

#floorSlider::-webkit-slider-thumb {
    height: 30px;
    width: 30px;
    border-radius: 15px;
    background: var(--hover-rgb);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -13px;
}

#floorSlider::-moz-range-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: var(--highlight-rgb);
    border-radius: 2px;
}

#floorSlider::-moz-range-thumb {
    height: 30px;
    width: 30px;
    border: 0px;
    border-radius: 15px;
    background: var(--hover-rgb);
    cursor: pointer;
    margin-top: -13px;
}

#floorSlider::-ms-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    border-radius: 2px;
    color: transparent;
}

#floorSlider::-ms-fill-lower {
    background: #2a6495;
    border: 0.2px solid #010101;
    border-radius: 2.6px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}

#floorSlider::-ms-fill-upper {
    background: #3071a9;
    border: 0.2px solid #010101;
    border-radius: 2.6px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}

#floorSlider::-ms-thumb {
    height: 30px;
    width: 30px;
    border-radius: 15px;
    background: var(--hover-rgb);
    cursor: pointer;
    margin-top: -13px;
}