*{
    box-sizing: border-box;
    touch-action: manipulation;
}

.elementBox{
    display: flex;
    /* border: solid blue; */
    height: 100%;
    width: 100%;
    align-items: center;
}

.label-header{
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    font-size: min(2.5vw, 5vh);
    line-height: 100%;
    font-family: serif;
    white-space: nowrap;
    overflow: hidden;
}

.label-header2{
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    font-size: min(2.25vw, 4.5vh);
    line-height: 100%;
    font-family: serif;
    white-space: nowrap;
    overflow: hidden;
}

.label-header3{
    display: flex;
    align-items: center;
    font-size: min(3.5vw, 7vh);
    line-height: 100%;
    font-family: serif;
    /* white-space: nowrap; */
    /* overflow:hidden; */
}

.button-header{
    border: solid black min(0.75vh, .375vw);
    background-color: #daa520;
    color: black;
    border-radius: calc(0.2*min(15vh, 10vw));
    height: calc(0.85*min(15vh, 10vw));
    width: calc(0.85*min(15vh, 10vw));
    margin: auto;
    padding: 0;
    font-size: min(4vw, 8vh);
    font-weight: 600;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 100%;
    cursor: pointer;
}

.button-menu{
    border: solid black .5vh;
    background-color: #daa520;
    color: black;
    width: 100%;
    height: 100%;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    font-size: min(2vw, 6vh);
    font-weight: 700;
}

body{
    background-color: #f5f5f5;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

#header{
    /* border: solid blue; */
    background-color: #d3d3d3;
    border-bottom: solid black .5vh;
    width: 100vw;
    height: 15vh;
    position: relative;

    display: grid;
    grid-template-columns: 30vw 10vw 15vw 35vw 10vw;
    grid-template-rows: 15vh;
    /* align-items: center; */
    /* vertical-align: middle; */  
}

#modeButton{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right: 0;
}

#modeButton2{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: 0;
}



#pianoNameButton{
    background-color: #d3d3d3;
    border: none;
    height: 80%;
    width: 90%;
    align-items: center;
    font-size: min(3.5vw, 7vh);
    line-height: 80%;
    font-family: serif;

}



#connectionButton{
    background-image: url('wifiicon.png');
    background-color:springgreen ;
    background-size: 85% 85%;
    background-repeat: no-repeat;
    background-position: center;
}

#fileMenuButton{
    background-image: url('editicon.png');
    background-size: 85% 85%;
    background-repeat: no-repeat;
    background-position: center;
}


.button-header:active{
    background-color: #3477f3;
}

.button-menu:active{
    background-color: #3477f3;
}

.sliderButton:active{
    background-color: #3477f3;
}

.slider:active::-webkit-slider-thumb{
    background-color: #3477f3;
}

.slider:active::-moz-range-thumb{
    background-color: #3477f3;
}


#fileMenu{
    border: solid #3477f3 1vw;
    width: 20vw;
    height: 70vh;
    display: none;
    grid-template-columns: 100%;
    grid-template-rows: repeat(7,calc(100%/7));
    position: fixed; 
    top: 17vh;
    left: 35vw;
    align-content:center;
}

.popupWindow{
    border: solid #3477f3 1vw;
    background-color: #d3d3d3;
    width: 43vw;
    height: 70vh; 
    position: fixed; 
    top: 17vh;
    right: 1vw;
    font-size: min(2.25vw, 4vh);
    font-family: serif;
}

#pianoInfoForm{
    display: none;
    flex-wrap: wrap;
}


#newFileWindow{
    display: none;
    grid-template-columns: 100%;
    grid-template-rows: 30% 30% 40%;
    margin: center;
    /* text-align: center; */
}

#exportWindow{
    display: none;
    grid-template-columns: 100%;
    grid-template-rows: 33% 33% 34%;
    margin: center;
    /* text-align: center; */
}


.newfileWindowTop{
    display: flex;
    /* border: solid blue; */
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
}

#newFileWindowBottom{
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: 100%;
}

#settingsForm{
    display: none;
    grid-template-columns: 100%;
    grid-template-rows: 50% 50%;
}

#settingsTop{
    display: grid;
    grid-template-columns: 70% 30%;
    grid-template-rows: repeat(4,25%);
}

#settingsBottom{
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: repeat(2,50%);
}


       

.settings-input{
    /* border: solid green; */
    display: flex;
    position: relative;
    color: black;
    width: 96%;
    height: 84%;
    font-size: min(1.5vw, 3vh);
}













#infoBox1{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 30%;
    height: 20%;
    display: flex;
    align-items: center;

}

#infoBox2{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 70%;
    height: 20%;
    display: flex;
    align-items: center;
    
}

            #pianoName{
                /* border: solid green; */
                display: flex;
                position: absolute;
                width: 68%;
                height: 14%;
                font-size: min(1.5vw, 3vh);
                
            }


#infoBox3{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 75%;
    height: 20%;
    display: flex;
    align-items: center;
    
}

#infoBox4{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 25%;
    height: 20%;
    display: flex;
    align-items: center;
    
}

                #pianoNumKeys{
                    /* border: solid green; */
                    display: flex;
                    position: absolute;
                    width: 23%;
                    height: 14%;
                    font-size: min(1.5vw, 3vh);
                }


#infoBox5{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 75%;
    height: 20%;
    display: flex;
    align-items: center;

}

#infoBox6{
    /* border: solid green; */
    border-bottom: solid black .75vh;
    width: 25%;
    height: 20%;
    display: flex;
    align-items: center;
    
}

                #noteName{
                    /* border: solid green; */
                    display: flex;
                    position: absolute;
                    color: black;
                    width: 23%;
                    height: 14%;
                    font-size: min(1.5vw, 3vh);
                }



#infoBox7{
    /* border: solid green; */
    width: 50%;
    height: 40%;
    display: flex;

}



#infoBox8{
    /* border: solid green; */
    width: 50%;
    height: 40%;
    display: flex;
    
}





#headerLabelsSMode{
    /* border: solid blue; */
    display: grid;
    grid-template-columns: 35% 60%;
    grid-template-rows: 100%;
    height: 100%;
    width: 100%;
    align-items: center;
}

#headerLabelsCMode{
    /* border: solid blue; */
    display: none;
    grid-template-columns: 25% 25% 50%;
    grid-template-rows: 50% 50%;
    height: 100%;
    width: 100%;
}


.label-divider{
    border-top: .75vh solid black; 
}





.container-chart{
    display: grid;
    grid-template-columns: 5vw 75vw 20vw;
    grid-template-rows: 10vh 65vh 10vh;
    width: 100%;
    height: 85vh;
}



#gridBox1{
    /* border: solid blue; */
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row: 1;
    display: grid;
    grid-template-columns: 7.5vw 64vw 7.5vw;
    grid-template-rows: 100%;
    height: 100%;
    width: 100%;
    align-items: center;
    z-index: 2;
    /* display: none; */
}
            .sliderButtonBox{
                display: flex;
                /* border: solid green; */
                width: 7.5vw;
                height: 10vh;
                align-items: center;
                overflow: clip;
            }

            .sliderButton{
                width: 100%;
                height: 100%;
                border: solid black min(1vh, .5vw);
                background-color: #daa520;
                color: black;
                padding: 0;
                font-size: min(8vh, 4vw);
                font-weight: 900;
                font-family: Arial, Helvetica, sans-serif;
                line-height: 1vh;
                touch-action: manipulation;
            }

            #decKeyButton{
                grid-row: 1;
                grid-column: 1;
                border-bottom-right-radius: min(2vh, 1vw);
            }

            #incKeyButton{
                border-bottom-left-radius: min(2vh, 1vw);
                border-bottom-right-radius: min(2vh, 1vw);
                grid-row: 1;
                grid-column: 3;
            }

            


            .slider {
                -webkit-appearance: none;
                appearance: none;
                /* border: solid orange; */
                border-top: solid black 1vh;
                width: 64vw;
                height: 10vh;
                margin: auto;
                background: transparent;
                cursor: pointer;
                grid-row: 1;
                grid-column: 2;
                /* position: absolute; */
                /* left: 5vw; */
                touch-action: none;

            
            }

            .slider::-webkit-slider-thumb {
                -webkit-appearance: none;
                border-bottom-left-radius: 4vh;
                border-bottom-right-radius: 4vh;
                border: solid black .75vh;
                border-top: solid;
                width: 8vw;
                height: 10vh;
                background-image: url('slidearrow.png');
                background-size: 100% 100%;
                background-color: white;

            }

            .slider::-moz-range-thumb {
                box-sizing: border-box;
                border-bottom-left-radius: 4vh;
                border-bottom-right-radius: 4vh;
                border: solid black .75vh;
                border-top: solid;
                width: 8vw;
                height: 10vh;
                background-image: url('slidearrow.png');
                background-size: 100% 100%;
                
            }

        

            

#gridBox2{
    /* border: solid blue; */
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    display: flex;
    height: 100%;
    width: 100%;
    padding-left: 2.5vw;
    align-items: center;
    position: relative;
    touch-action: none;
}

            .y-slider-track{
                position: relative;
                height: 1vw;
                width: 63vh;
                transform: translate(-50%) rotate(270deg);
                position: absolute;
                background-color: #d3d3d3;
                border: solid black;
                border-radius: .5vw;
            }

            .ygraphslider {
                -webkit-appearance: none;
                appearance: none;
                height: 1vw;
                /* background-color: black; */
                background-color: transparent;
                width: 63vh;
                transform: translate(-50%) rotate(270deg);
                position: absolute;
                /* cursor: pointer; */
                pointer-events: none;
                outline: none;
                margin: auto;
                
            }


            .ygraphslider::-webkit-slider-runnable-track{
                appearance: none;
                height: 1vw;

            }

            .ygraphslider::-moz-range-track{
                appearance: none;
                height: 1vw;
            }

            .ygraphslider::-moz-range-thumb {
                box-sizing: border-box;
                background-color: #daa520;
                border: solid black min(1vh, 0.5vw);
                border-radius: calc(0.6*min(5vw, 10vh)/2);;   
                width: calc(1.0*min(5vw, 10vh));
                height: calc(1.0*min(5vw, 10vh));
                pointer-events: auto;
            }

            .ygraphslider::-webkit-slider-thumb {
                -webkit-appearance: none;
                background-color: #daa520;
                border: solid black min(1vh, 0.5vw);
                border-radius: calc(0.6*min(5vw, 10vh)/2);;   
                width: calc(1.0*min(5vw, 10vh));
                height: calc(1.0*min(5vw, 10vh));
                position: relative;
                bottom: calc(1.0*min(5vw, 10vh)/2 - 1vh);
                pointer-events: auto;
            }

            .ygraphslider:active::-moz-range-thumb{
                background-color: #3477f3;
            }

            .ygraphslider:active::-webkit-slider-thumb{
                background-color: #3477f3;
            }


 

#gridBox3{
    /* border: solid purple; */
    /* grid-row: 2; */
    grid-row-start: 1;
    grid-row-end: 3;
    grid-column: 2;
    display: flex;
    height: calc(100% - 3vh);
    width: 100%;
    z-index: 1;
    margin-top: 3vh;
    padding-right: 1vw;
    /* display: none; */
}

            .chart{
                display: flex;
                width: 100%;
                position: absolute;
            }

#gridBox4{
    /* border: solid green; */
    grid-row-start: 1;
    grid-row-end: 4;
    grid-column: 3;
    display: grid;
    grid-template-columns: 6vw 6vw 8vw;
    grid-template-rows: 16% repeat(7, 12%);
    width: 100%;
    height: 100%;
    align-items: center;

}
            .keyInfoLeftBox{
                /* border: solid rgb(36, 108, 121); */
                border-top: solid black .5vh;
                width: 100%;
                height: 100%;
                display: flex;
                /* position: relative; */
                align-items: center;

            }

            .keyInfoRightBox{
                /* border: solid rgb(36, 108, 121); */
                border-top: solid black .5vh;
                width: 100%;
                height: 100%;
                display: flex;
                align-items: center;
   
            }

            .keyInfoProperty{
                font-size: min(2.5vh, 1.25vw);
                font-weight: 600;
                font-family: serif;
                overflow: hidden;
            }

            .keyInfoValue{
                font-size: min(3.5vh, 1.75vw);
                font-weight: 800;
                font-family: serif;
                overflow: hidden;
            }


            .graphButton{
                border: solid black .5vh;
                background-color: #daa520;
                color: black;
                border-radius: calc(0.2 * min(10vw, calc(85vh*0.1)));
                height: calc(0.85 * min(10vw, calc(85vh*0.15)));
                width: calc(0.85 * min(20vw, calc(85vh*0.3)));
                font-size: min(4vh, 2vw);
                font-weight: 600;
                padding: 0;
                font-family: serif;
                margin: auto;
            }

            #graphType{
                border-top-right-radius: 0;
                border-bottom-right-radius: 0;
                margin-right: 0;
            }

            #graphType2{
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
                margin-left: 0;
            }



            .graphButton:active{
                background-color: #3477f3;
            }

            .radioButtonBox{
                /* border: solid blue; */
                height: 100%;
                width: 100%;
                display: flex;
                align-items: center;
            }

            .graphRadioButton{
                border: solid black;
                border-radius: calc(0.85*min(6vw, calc(0.12*85vh))/2);
                background-color: #daa520;
                height: calc(0.85*min(6vw, calc(0.12*85vh)));
                width: calc(0.85*min(6vw, calc(0.12*85vh)));
            }

            .buttonLabel{
                display: flex;
                font-size: min(3vh, 1.5vw);
                font-weight: 600;
                font-family: serif;
                /* overflow: hidden; */
                /* align-self: center; */
            }
            
            .keyInfoTop{
                border-top: solid black .75vh;
            }

            #graphTypeBox{
                /* border: solid orange; */
                border-top: none;
                border-bottom: solid black 0.75vh;
                display: flex;
                position: relative;
                grid-row: 1;
                grid-column-start: 1;
                grid-column-end: 4;
                height: 100%;
                width: 100%;
                align-items: center;
            }

            #persistenceBoxText{
                /* border: solid orange; */
                border-top: none;
                display: flex;
                position: relative;
                grid-row: 2;
                grid-column-start: 2;
                grid-column-end: 4;
            }

            #twWindowBoxText{
                /* border: solid orange; */
                display: flex;
                position: relative;
                grid-row: 3;
                grid-column-start: 2;
                grid-column-end: 4;
            }


#gridBox5{
    /* border: solid yellow; */
    grid-row: 3;
    grid-column: 1;
}

#gridBox6{
    /* border: solid orange; */
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row: 3;
    display: flex;
    align-items: center;
    position: relative;
    touch-action: none;
}


            .x-slider-track{
                position: relative;
                height: 1vw;
                width: 72vw;
                position: absolute;
                background-color: #d3d3d3;
                border: solid black;
                border-radius: .5vw;
            }


            .xgraphslider {
                -webkit-appearance: none;
                appearance: none;
                height: 1vw;
                background-color: transparent;
                width: 72vw;
                position: absolute;
                pointer-events: none;
                outline: none;
                margin: auto;
                
            }

            .xgraphslider::-webkit-slider-runnable-track{
                appearance: none;
                height: 1vw;

            }

            .xgraphslider::-moz-range-track{
                appearance: none;
                height: 1vw;
            }

            .xgraphslider::-moz-range-thumb {
                box-sizing: border-box;
                background-color: #daa520;
                border: solid black min(1vh, 0.5vw);
                border-radius: calc(0.6*min(5vw, 10vh)/2);;   
                width: calc(1.0*min(5vw, 10vh));
                height: calc(1.0*min(5vw, 10vh));
                pointer-events: auto;

            }

            .xgraphslider::-webkit-slider-thumb {
                -webkit-appearance: none;
                background-color: #daa520;
                border: solid black min(1vh, 0.5vw);
                border-radius: calc(0.6*min(5vw, 10vh)/2);;   
                width: calc(1.0*min(5vw, 10vh));
                height: calc(1.0*min(5vw, 10vh));
                position: relative;
                bottom: calc(1.0*min(5vw, 10vh)/2 - 1vh);
                pointer-events: auto;
            }

            .xgraphslider:active::-moz-range-thumb{
                background-color: #3477f3;
            }

            .xgraphslider:active::-webkit-slider-thumb{
                background-color: #3477f3;
            }








   