body {
   background-color: black;
   font-family: 'Courier New', Courier, monospace;
   padding:2em;
}


select {
   display: flex;
   justify-content: center;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background-color: transparent;
   color: #DD0806;
   border: none;
   outline: none;
   font-size: 12px;
   text-align: center;
   font-weight: bold;
   overflow: hidden;
}

select:focus {
   border: none;
   outline: none;
}

.wrapper {
   justify-content: center;
   margin: auto;
   position: absolute;
   top: 38em;
   left: 50%;
   width: 640px;
   height: 480px;
   -moz-transform: translateX(-50%) translateY(-50%);
   -webkit-transform: translateX(-50%) translateY(-50%);
   transform: translateX(-50%) translateY(-50%);
}

#references{
   color: white;
   justify-content: center;
   margin: auto;
   position: absolute;
   top: 54em;
   padding-bottom: 100px;
}


.no-select {
   user-select: none;
   -moz-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   -o-user-select: none;
}

#loading-text{ 
   position: absolute;
   left: 285px;
   top: 185px;
   color: white;
   font-size: 20px;
   animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
   50%{
      opacity: .1;
   }
 }

#main-menu {
   height: 100%;
   width: 100%;
   background-image: url('../images/mainMenu.png');
   background-size:100% 100%;
   z-index: auto;
}

#genres {
   display: flex;
   position: absolute;
   left: 250px;
   top: 140px;
}
/* menu column */
#genres>div {
   flex-direction: column;
   width: 150px;
   cursor: pointer;
}
/* menu title */
#genres>div>button {
   display: block;
   font-size: 23px;
   padding-bottom: 14px;
   font-weight: bold;
   color: white;
   background: transparent;
   cursor: pointer;
   border: none;
}

#game-board {
   height: 100%;
}


/* SONGALIZER  */
#songs {
   display: flex;
   flex-direction: column;
   position: absolute;
   left: 8px;
   top: 37px;
   gap: 5px;
}
#songs>div {
   height: 38px;
   width: 40px;
   cursor: grab;
   /* border: 1px saddlebrown solid; */
}

#slots {
   position: absolute;
   display: flex;
   left: 200px;
   top: 382px;

   width: 530px;
   height: 44px;
}


#song-names {
   display: flex;
   flex-direction: column;
   position: absolute;
   left: 48px;
   right:470px;
   top: 40px;
   gap: 11px;
}


/* VOCALIZER */
#vocalizer {
   display: grid;
   position: absolute;
   left: 554px;
   top: 98px;
   grid-template-columns: 32px 32px;
   gap: 4px 2px;
}
#vocalizer>button {
   height: 29px;
   width: 29px;
   opacity: 0;
}


/* VOLUME SLIDER */
/* https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */
input[id="volume"] {
   -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
   width: 100%; /* Specific width is required for Firefox. */
   background: transparent; /* Otherwise white in Chrome */
 }
 input[id="volume"]::-webkit-slider-thumb {
   -webkit-appearance: none;
 }
 input[id="volume"]:focus {
   outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
 }


 /* Special styling for WebKit/Blink */
input[id="volume"]::-webkit-slider-thumb {
   -webkit-appearance: none;
   height: 18px;
   width: 10px;
   border-radius: 1px;
   background: #ffffff;
   cursor: pointer;

 }
 /* All the same stuff for Firefox */
 input[id="volume"]::-moz-range-thumb {
   height: 18px;
   width: 10px;
   border-radius: 1px;
   background: #ffffff;
   cursor: pointer;
 }

.slider-wrapper {
   display: inline-block;
   position: absolute;
   left: 232px;
   top: 123px;
   width: 10px;
   height: 92px;
}
.slider-wrapper input {
   position: absolute;
   left: 6px;
   top: -2px;
   width: 105px;
   margin: 0;
   transform-origin: 45px 55px;
   transform: rotate(-90deg);
}


/*  VIBE  */
#vibe-trigger {
   position: absolute;
   left: 283px;
   top: 101px;
   height: 112px;
   width: 113px;
   z-index:1 ;
}
#vibe-select {
   position: absolute;
   left: 280px;
   top: 221px;
   right:400px;
   width:122px;
}

/* BOP */
#bop-trigger {
   position: absolute;
   left: 433px;
   top: 88px;
   height: 79px;
   width:81px;
   z-index:1 ;
}
#bop-select {
   position: absolute;
   left: 411px;
   top: 176px;
   width:120px;
}


/* PITCH EM  */
#pitchem-digit-select {
   position: absolute;
   left: 515px;
   top: 303px;
   width:120px;
}
#pitchem-key-select {
   position: absolute;
   left: 515px;
   top: 335px;
   width:120px;
}


/* KEYMAP */
#keymap-trigger {
   position: absolute;
   left: 234px;
   top: 332px;
   width: 88px;
   height: 32px;
   background: transparent;
   border: none;
   
}

#keymap-trigger:focus{
   outline: none;
}
#keymap-image {
   position: absolute;
   left: 219px;
   top: 242px;
   width: 304px;
   height: 122px;
}

/* START CLEAR */
#controls {
   position: absolute;
   left: 372px;
   top: 450px;
}
#controls>button {
   width: 84px;
   height: 26px;
   margin-left: 0px;
   border: none;
   background: transparent;
   /* border:1px solid red; */
}


/* QUIT MENU */
#quit-menu {
   position: absolute;
   left: 60px;
   top: 458px;
   width: 100px;
   height: 22px;
   background: transparent;
   border: none;
   }



/* RECORDING */
#record-interface {
   position: absolute;
   left: 176px;
   top: 0px;
}

#record-controls{
   display: flex;
   position: absolute;
   left: 22px;
   top: 38px;
   gap: 1px;
} 

#record-controls > button{
width: 50px;
height: 20px;
background-color: transparent;
border: none;
}

#load-save{
   display: flex;
   position: absolute;
   flex-direction: column;
   left: 200px;
   top: 28px;
   gap: 4px;
}

#load-save > button{
   width: 90px;
   height: 18px;
   background-color: transparent;
   border:none;
   }

#load-save > a{
   width: 90px;
   height: 18px;
   background-color:transparent;
   border: none;   
}   

   #open{
   position: absolute;
   left: 498px;
   top: 2px;
   width: 63px;
   height: 50px;
   background-color: transparent;
   border:none;
}

#session-name{
   position: absolute;
   left: 65px;
   top: 4px;
   background-color: #DD0806;
   border: none;
   outline: none;
   background-color: transparent;
}


progress {
   /* Reset the default appearance */
   -webkit-appearance: none;
   -moz-appearance: none;
        appearance: none;
        border: none;
    width: 147px; 
    height: 2px;
    /* border: 1px solid #09c; */
}

progress::-moz-progress-bar { 
   background-color: black;
   border-radius: 0px; 
   color: #DD0806;
 }

 progress::-webkit-progress-bar {
   background-color: black;
   border-radius: 0px;
   color: #DD0806;

 }
#progress{
   position: absolute;
   left: 25px;
   top: 31px;    
}
/*//////////////////////// EFFECTS ////////////////////////*/

#reverb{
   position: absolute;
   top: 215px;
   left: 450px;
   background-color: #DD0806;
}

#reverb-select{
   position: absolute;
   top: 241px;
   left: 424px;
   width: 110px;
   background-color:  black;
}
#reverb-select > option{
   background-color: #ffffff;
}



#history{
   color: white;
}

a{
   color:#DD0806
}

li{
   padding: 10px;
}

