#learnMore {
  position: absolute;
  z-index: 30;
} 

#topControlsBar {
  width: 100px;
  height: 70px;
  background-color: rgb(255, 255, 255);
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  z-index: 10;
}

#controlTable {
  table-layout: fixed;
  height: 100%; 
  width: 100%;
  border-collapse: collapse;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
}

#controlTable td{
  font-size: 17px;
  text-align: center;
  min-width: 10%;
  height: 100%;
  border: 1px solid rgb(211, 211, 211);
  border-bottom: 1px solid rgb(75, 75, 75);
  border-top: none;
}
  
#algorithmBox {width: 215px;}
#efficiencyBox {width: 35%;}
#sortSpeedBox {width: 45%;}
#loadBox {width: 20%;}
#playBox {width: 80px;}
  
/* The drop down */
#algOptions {
  display: none;
  background-color: white;
  border: 1px solid black;
  border-top: none;
  border-left: none;
  width: 220px;
  position: absolute;
  z-index: 30;
  margin-top: 70px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
}
#algOptions td {
  border: 1px solid rgb(211, 211, 211);
  border-bottom: 1px solid rgb(75, 75, 75);
  border-top: none;
  text-align: left;
  padding: 10px;
}
#algOptions td:hover{
  border: 2px solid black;
  background-color: rgb(243, 243, 243);
  cursor: pointer;
}
#dropdownBox {
  margin: auto;
  width: 200px;
  vertical-align: center;
  padding: 5px 0 5px 0;
  border: 1px solid black;
  border-radius: 4px;
  font-size: 15px;
}
#arrow {
  display: inline-block;
  background-color: transparent;
  margin-top: -5px;
  padding: 4px 0 4px 0;
  border-left: 1px solid black;
  width: 30px;
  float: right;
}
#dropdownBox:hover {
  background-color: rgb(245, 245, 245);
  cursor: pointer;
}

.ctrlBtn {
  box-shadow:inset 0px 1px 0px 0px #ffffff;
  background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
  background-color:#ffffff;
  border-radius:6px;
  border:1px solid #dcdcdc;
  display:inline-block;
  cursor:pointer;
  color:#666666;
  font-family:Arial;
  font-size: 30px;
  font-weight:bold;
  text-decoration:none;
  text-shadow:0px 1px 0px #ffffff;
  height: 100%;
  width: 100%;
  text-align: center;
}
.ctrlBtn:hover {
  background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
  background-color:#f6f6f6;
}
.ctrlBtn:active {
  position:relative;
  top:1px;
}
  
/* The mute button */
.speaker {
  height: 30px;
  width: 30px;
  overflow: hidden;
  display: inline-block;
  filter: invert(1);
  position: absolute;
  z-index: 30;
}
.speaker:hover {
  filter: invert(1);
}
.speaker span {
  display: block;
  width: 8px;
  height: 8px;
  background: rgb(200,200,200);
  margin: 11px 0 0 2px;
}
.speaker span:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent rgb(200,200,200) transparent transparent;
  border-width: 10px 14px 10px 15px;
  left: -13px;
  top: 5px;
}
.speaker span:before {
  transform: rotate(45deg);
  border-radius: 0 50px 0 0;
  content: '';
  position: absolute;
  width: 5px;
  height: 5px;
  border-style: double;
  border-color: rgb(200,200,200);
  border-width: 7px 7px 0 0;
  left: 18px;
  top: 9px;
  transition: all 0.2s ease-out;
}
.speaker:hover span:before {
  transform: scale(0.8) translate(-3px, 0) rotate(42deg);
}
.speaker.mute span:before {
  transform: scale(0.5) translate(-15px, 0) rotate(36deg);
  opacity: 0;
}


/* The slider CSS*/
input[type=range] {
  width: 90%;
  margin: 4px 0;
  background-color: transparent;
  -webkit-appearance: none;
  box-shadow: none;
}
input[type=range]:focus {
  outline: none;
  box-shadow: none;
}
input[type=range]::-webkit-slider-runnable-track {
  background: rgba(200, 200, 200, 0.78);
  border: none;
  border-radius: 8.7px;
  width: 90%;
  height: 15px;
  cursor: pointer;
  box-shadow: none;
}
input[type=range]::-webkit-slider-thumb {
  width: 21px;
  height: 16px;
  background: #646464;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  -webkit-appearance: none;
  box-shadow: none;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #cbcbcb;
  box-shadow: none;
}
input[type=range]::-moz-range-track {
  background: rgba(200, 200, 200, 0.78);
  border: none;
  border-radius: 8.7px;
  width: 90%;
  height: 15px;
  cursor: pointer;
  box-shadow: none;
}
input[type=range]::-moz-range-thumb {
  width: 21px;
  height: 16px;
  background: #646464;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  box-shadow: none;
}
input[type=range]::-ms-track {
  background: transparent;
  border-color: transparent;
  border-width: none;
  color: transparent;
  width: 90%;
  height: 15px;
  cursor: pointer;
  box-shadow: none;
}
input[type=range]::-ms-fill-lower {
  background: #c5c5c5;
  border: none;
  border-radius: 17.4px;
  box-shadow: none;
}
input[type=range]::-ms-fill-upper {
  background: rgba(200, 200, 200, 0.78);
  border: none;
  border-radius: 17.4px;
  box-shadow: none;
}
input[type=range]::-ms-thumb {
  width: 21px;
  height: 16px;
  background: #646464;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 0px;
  box-shadow: none;
  /*Needed to keep the Edge thumb centred*/
}
input[type=range]:focus::-ms-fill-lower {
  background: rgba(200, 200, 200, 0.78);
}
input[type=range]:focus::-ms-fill-upper {
  background: #cbcbcb;
}
/*TODO: Use one of the selectors from https://stackoverflow.com/a/20541859/7077589 and figure out
how to remove the virtical space around the range input in IE*/
@supports (-ms-ime-align:auto) {
  /* Pre-Chromium Edge only styles, selector taken from hhttps://stackoverflow.com/a/32202953/7077589 */
  input[type=range] {
    margin: 0;
    /*Edge starts the margin from the thumb, not the track as other browsers do*/
  }
}
  
body {
  height: 100%;
  margin: 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
  
html {
  height: 100%;
}

a:hover {
  filter: drop-shadow(-5px 5px 0px var(--lightAccent));
  cursor: pointer;
  transition: all .1s ease-in-out; 
  transform: scale(1.025);
}