body{
    margin:0;
    padding: 12px 40px;
    background-color: #353535;
    padding-bottom: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    
    
}

#main-container{

    display: flex;
    flex-direction: column;
    align-content: space-around;
    justify-content: space-evenly;

}


#synth-controls-container{

    display: flex;
    flex-direction: row;
    justify-content: space-around;
    /* background: red; */
    margin: 0 80px;

}

.synth-block-container{
    background: #444445;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 16px;
    justify-content: start;
    flex-grow: 1;
}

.oscillator-container{
    
}


.component-tag{
    text-align: center;

}



.synth-param-pair-container{
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 20px;

}

.synth-param-name{

    display: flex;
    align-items: center;
    background: #929292;
    flex-grow: 4;
    height: 30px;
    padding: 0px;
    padding-left: 24px;
    font-size: 0.8em;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.synth-param-value{
    flex-grow: 1.5;
    height: 30px;
    border: 0;
    background: #2E2C2E;
    display: flex; 
    align-items: center; 
    height: 30px;
    padding: 0px;
    padding-left: 12px;
    font-size: 0.8em;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    text-align: center;
}


#randomize-button-container{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 24px 0;
}

button#randomize-button{
    background: #00C8B4;
    padding: 12px 32px;
    border: 0;        
    font-size: 1.2em;
    border-radius: 4px;
}


#keyboard-container{
    width: 100%;
    height:200px;
    background: #434344;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* padding: 0 8px; */
}


#black-keys-row-container,
#white-keys-row-container{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: start;
    padding-left: 20px;
    /* margin-top: 12px; */

}

#white-keys-row-container{
    padding: 0;
    margin-top: 12px;
}

.black-key{
    background-color:#485973;
    border-radius: 1000px;
    width: 28px;
    height: 28px;
    margin: 0 2px;
    
}

.black-key-active{
    background-color:#29374F;

}


.black-space-key{
    z-index: -1000;
    border-radius: 1000px;
    width: 28px;
    height: 28px;
    margin: 0 6px;
    /* background-color:red; */
}

.white-key{
    background-color:#BDBDBD;
    border-radius: 10px;
    width: 28px;
    height: 80px;
    margin: 0 6px;
}

.white-key-active{
    background-color: #6B6B6B;
}

    
#my-name a{  
    margin-top: 4px;
    margin-bottom: 0;
    font-size: 0.9em;
    color: #BDBDBD;
}

#my-name{
    margin-top: 24px;
    margin-bottom: 16px;
}

#tutorial-title{
    text-decoration: underline;
}

#tutorial-title:hover{
    cursor: pointer;
}

.tutorial-text{
    text-decoration: none;
    margin-top: 12px;
    margin-bottom: 0;
    font-size: 0.9em;
    color: #BDBDBD;

}




*{
    font-family: 'Monaco', monospace;
    color:white;
}



/* Ripple magic - from this pen: https://codepen.io/lehollandaisvolant/pen/dMQXYX */
button{
  position: relative;
  overflow: hidden;
  z-index: 1000;
}

button:focus{
    outline: 0;
}

button:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  background: rgba(30, 30, 30, .5);
  opacity: 0;
  border-radius: 100%;
  transform: scale(1, 1) translate(-50%);
  transform-origin: 50% 50%;
}

@keyframes ripple {
  0% {
    transform: scale(0, 0);
    opacity: 1;
  }
  20% {
    transform: scale(25, 25);
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(40, 40);
  }
}

button:focus:not(:active)::after {
  animation: ripple 0.5s ease-out;
} 