
#hd, #mute, #light, #fps {
  top:  0px;
  left: 28px;
  
  -webkit-transition: opacity .5s 1s, left .5s 1s, top .5s 1s;
     -moz-transition: opacity .5s 1s, left .5s 1s, top .5s 1s;
      -ms-transition: opacity .5s 1s, left .5s 1s, top .5s 1s;
       -o-transition: opacity .5s 1s, left .5s 1s, top .5s 1s;
          transition: opacity .5s 1s, left .5s 1s, top .5s 1s;
  
  opacity: 0;
}

#settings:hover div {
  -webkit-transition: -webkit-box-shadow .4s, opacity .2s;
     -moz-transition:    -moz-box-shadow .4s, opacity .2s;
      -ms-transition:     -ms-box-shadow .4s, opacity .2s;
       -o-transition:      -o-box-shadow .4s, opacity .2s;
          transition:         box-shadow .4s, opacity .2s;
          
  opacity: 1;
}

#settings:hover #hd {
  left: 0px;
}

#settings:hover #mute {
  left: 100px;
}

#hd, #mute, #light, #settings, #fps {
  position: absolute;
  height: 80px;
  width: 80px;
  color: #292929;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  
  font-size: 40px;
  line-height: 80px;
  font-family: sans-serif;
  text-shadow: 0px 0px 10px #3D3D3D;
  text-align: center;
  
  cursor: pointer;
  z-index: 10;
}

#hd, #mute, #light, #settings {
  background-size: 350%;
  background-repeat: no-repeat;
  background-image: url(../images/settings/settings.png);
}

#mute {
  background-position: -6% -6%;
}

#mute.muted {
  background-position: 106% -6%;
}

#light {
  background-position: 106% 106%;
}

#light.light {
  background-position: -6% 106%;
}

#hd {
  background-position: 50% 106%;
}

#hd.hd {
  background-size: 450%;
  background-position: 101.5% 50%;
}

#fps {
  font-size: 15px;
  line-height: 0px;
}

#fps span {
  display: block;
  padding: 0px;
  
  -webkit-transition: line-height .2s, padding .2s, opacity .2s;
     -moz-transition: line-height .2s, padding .2s, opacity .2s;
      -ms-transition: line-height .2s, padding .2s, opacity .2s;
       -o-transition: line-height .2s, padding .2s, opacity .2s;
          transition: line-height .2s, padding .2s, opacity .2s;
  
  opacity: 0;
}

#fps:hover span {
  line-height: 20px;
  opacity: 1;
}

#fps:hover span:first-child {
  padding-top: 10px;
}

#fps:hover span.play {
  font-size: 28px;
  line-height: 18px;
  margin-left: 4px;
  margin-bottom: 4px;
}

#fps:hover span.stop {
  font-size: 35px;
  line-height: 12px;
  padding-bottom: 10px;
}

#fps span.play {
  font-size: 55px;
  line-height: 80px;
  margin-left: 10px;
}

#fps span.stop {
  font-size: 68px;
  line-height: 66px;
  margin-left: 0px;
}

#fps span.play, #fps span.stop {
  -webkit-transition: line-height .2s, font-size .2s;
     -moz-transition: line-height .2s, font-size .2s;
      -ms-transition: line-height .2s, font-size .2s;
       -o-transition: line-height .2s, font-size .2s;
          transition: line-height .2s, font-size .2s;
          
  opacity: 1;
}

#settings #hd:hover, #settings #mute:hover, #settings #light:hover, #settings #fps:hover {
  background-color: rgba(192, 192, 192, 0.5);
          
  -webkit-transition: background-color .1s;
     -moz-transition: background-color .1s;
      -ms-transition: background-color .1s;
       -o-transition: background-color .1s;
          transition: background-color .1s;
}

#settings {
  left: 30px;
  top: 60px;
  margin-bottom: 20px;
  background-position: 50%;
  
  -webkit-transition: width 0s 1s, background-size .5s 1s, background-color 0s 1s;
     -moz-transition: width 0s 1s, background-size .5s 1s, background-color 0s 1s;
      -ms-transition: width 0s 1s, background-size .5s 1s, background-color 0s 1s;
       -o-transition: width 0s 1s, background-size .5s 1s, background-color 0s 1s;
          transition: width 0s 1s, background-size .5s 1s, background-color 0s 1s;
}

/* IE10 only */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #settings, #hd, #mute, #light, #fps {
      -webkit-transition: all 0s;
         -moz-transition: all 0s;
          -ms-transition: all 0s;
           -o-transition: all 0s;
              transition: all 0s;
    }
}

#settings:hover {
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
  background-size: 0px;
  
  -webkit-transition: none;
     -moz-transition: none;
      -ms-transition: none;
       -o-transition: none;
          transition: none;
}

#colors { 
  position: absolute;
  bottom: -15px;
  height: 10px;
  width: 100%;
  
  opacity: 0;
}

#settings:hover #colors, #properties-wrapper #settings #colors div {
  opacity: .1;
}

#properties-wrapper #settings #colors:hover, #properties-wrapper #settings #colors div:hover {
  -webkit-transition: opacity .4s;
     -moz-transition: opacity .4s;
      -ms-transition: opacity .4s;
       -o-transition: opacity .4s;
          transition: opacity .4s;
          
  opacity: 1;
}

#colors div {
  display: inline-block;
  width: 20%;
  height: 100%;
}

#tooltip, #settings #colors:hover + #tooltip {
  position: absolute;
  display: block;
  height: 0px;
  width: 0px;
  bottom: 0px;
  left: 50%;
  padding: 0px;
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  
  -webkit-transform: translate(-50%, 100%);
     -moz-transform: translate(-50%, 100%);
      -ms-transform: translate(-50%, 100%);
       -o-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  
  overflow: hidden;
  opacity: 0;
}

#settings div:hover ~ #tooltip {
  display: table;
  bottom: -15px;
  padding: 5px 15px;
  
  opacity: 1;
}

#settings div ~ #tooltip {
  opacity: 0;
}

@media only screen and (min-width : 1201px) {
  #settings:hover {
    width: 380px;
  }
  
  #settings:hover #fps {
    left: 300px;
  }

  #settings:hover #light {
    left: 200px;
  }
}

@media only screen and (max-width : 1200px) {
  #settings:hover {
    width: 180px;
    height: 180px;
  }
  
  #settings:hover #fps {
    left: 100px;
    top: 100px;
  }

  #settings:hover #light {
    left: 0px;
    top: 100px;
  }
}