/*
 * GLOBALS
 */

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-size: 1em;
  color: #fff;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-image: url(../images/grid.png);
  background-size: cover;
}

body,
input,
button {
  font-family: 'Titillium Web', Verdana, Geneva, sans-serif;
}

::-webkit-input-placeholder { /* Chrome */
  color: #fff;
  opacity: 0.7;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #fff;
  opacity: 0.7;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #fff;
  opacity: 0.7;
}
:-moz-placeholder { /* Firefox 4 - 17 */
  color: #fff;
  opacity: 0.7;
}

input,
p {
  -webkit-app-region: no-drag;
}

@media (min-width: 600px) {
  body {
    font-size: 1.2em;
  }
}

@media (min-width: 700px) {
  body {
    font-size: 1.4em;
  }
}

@media (min-width: 800px) {
  body {
    font-size: 1.5em;
  }
}

@media (max-width: 400px) {
  body {
    font-size: 0.8em;
  }
}

@media (max-width: 300px) {
  body {
    font-size: 0.7em;
  }
}

@media (max-width: 250px) {
  body {
    font-size: 0.5em;
  }
}

@media (max-width: 200px) {
  body {
    font-size: 0.4em;
  }
}

/*
 * /END GLOBALS
 */

/*
 * SCROLLBAR
 */

body::-webkit-scrollbar,
.overflow-x::-webkit-scrollbar,
.overflow-y::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

body::-webkit-scrollbar-track,
.overflow-x::-webkit-scrollbar-track,
.overflow-y::-webkit-scrollbar-track {
  background: #000;
}

body::-webkit-scrollbar-thumb,
.overflow-x::-webkit-scrollbar-thumb,
.overflow-y::-webkit-scrollbar-thumb {
  background-color: rgba(73, 65, 88, 0.7);
  border: 1px solid rgba(49, 49, 49, 0.6);
}

body::-webkit-scrollbar-thumb:hover,
.overflow-x::-webkit-scrollbar-thumb:hover,
.overflow-y::-webkit-scrollbar-thumb:hover {
  background-color: rgba(100, 100, 100, 0.7);
}

/*
 * /END SCROLLBAR
 */

/*
 * MESSAGE ALERT
 */

.message {
  background: rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(150, 150, 150, 0.18);
  padding: 5px;
  margin: 0 auto 10px auto;
  font-size: 0.9em;
}

.message.error {
  color: #ff5176;
}

.message.success {
  color: #51ff81;
}

/*
 * /END MESSAGE ALERT
 */

/*
 * DRAG REGION
 */

.DragRegion {
  -webkit-app-region: drag;
  width: 100%;
  background: rgba(79, 46, 93, 0.45);
  text-align: right;
  color: rgba(255,255,255,0.5);
  font-size: 0.6em;
  text-align: center;
  position: relative;
}

.DragRegion:hover {
  background: rgba(79, 46, 93, 0.55);
  cursor: move;
}

/*
 * /END DRAG REGION
 */

/*
 * RESIZE HANDLE
 */

.ResizeHandle {
  -webkit-app-region: no-drag;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 0.2em;
  color: rgba(255,255,255,0.5);
}

/*
 * /END RESIZE HANDLE
 */


/*
 * MINIMIZE HANDLE
 */

.MinimizeHandle {
  -webkit-app-region: no-drag;
  position: absolute;
  top: 0;
  left: 0;
  color: rgba(255,255,255,0.5);
  transition: all 0.2s ease-out;
  line-height: 1;
  padding: 0.2em 0.6em;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.MinimizeHandle:hover {
  color: rgba(255,255,255,0.7);
}

.MinimizeHandle i {
  margin-top: -0.3em;
}

/*
 * /END MINIMIZE HANDLE
 */

/*
 * MAIN VIEW
 */

.MainView {
  padding: 10px;
}

.MainTitle {
  display: block;
  font-family: 'colors_of_autumnregular', Verdana, Geneva, sans-serif;
  font-size: 2.5em;
  margin: 0;
  color: #1bf4ff;
  text-shadow: 2px 4px #c100ff;
  margin: 0 0 15px 0;
  text-transform: uppercase;
}

.PlaylistFormContainer {
  position: relative;
}

.PlaylistForm {
  margin-bottom: 10px;
}

.PlaylistForm:after {
  content: "";
  display: table;
  clear: both;
}

.PlaylistForm .button {
  float: left;
}

.PlaylistForm .actions {
  float: right;
}

.PlaylistUrlInputContainer {
  display: flex;
}

.PlaylistUrlInput {
  display: inline-block;
  padding: 0.5em;
  font-size: 1em;
  width: 80%;
  color: rgba(255,255,255,0.8);
  background: rgba(184, 114, 255, 0.6);
  border: 1px solid #8d47a9;
  transition: all 0.2s ease-out;
}

.PlaylistUrlInput:focus {
  color: #fff;
  background: rgba(184, 114, 255, 0.8);
  border-color: #bb88c7;
}

.PlaylistUrlSubmit,
.PlaylistUrlSubmit:active,
.PlaylistUrlSubmit:focus,
.PlaylistUrlSubmit:hover {
  position: relative;
  display: inline-block;
  appearance: none;
  font-family: 'colors_of_autumnregular', Verdana, Geneva, sans-serif;
  background: none;
  border: none;
  color: #1bf4ff;
  padding: 5px;
  font-size: 1.5em;
  cursor: pointer;
  width: 20%;
  text-align: center;
  outline: 0;
}

.PlaylistUrlSubmit:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.PlaylistUrlSubmit i {
  opacity: 0;
  transition: all 0.2s ease-out;
}

.PlaylistUrlSubmit.loading i {
  opacity: 1;
}

.PlaylistUrlInputHelp {
  margin-bottom: 5px;
}

.PlaylistUrlInputHelp small {
  font-size: 0.7em;
  color: rgba(255, 255, 255, 0.5);
  opacity: 0.8;
  transition: opacity 0.2s ease-out;
}

.PlaylistUrlInputHelp small:hover {
  opacity: 1
}

.PlaylistUrlInputHelp small a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.2s ease-out;
}

.PlaylistUrlInputHelp small a:hover {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: underline;
}

/*
 * /END MAIN VIEW
 */

/*
 * SHREDOMETER
 */

.ShredometerTitle {
  font-family: 'sf_alien_encountersitalic', Verdana, Geneva, sans-serif;
  font-size: 2em;
  margin: 0;
  color: #bf65ff;
  text-shadow: 2px 4px #6e00ff;
  margin: 0 0 15px 0;
  text-transform: uppercase;
}

.ShredometerProgress {
  position: relative;
  width: 100%;
  font-size: 2.5em;
  color: transparent;
  transition: all 0.1s ease-out;
  background: #000;
  overflow: hidden;
}

.ShredometerProgressFill {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #000;
  transition: all 0.5s ease-out;
}

/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a5ff+1,00a5ff+1,0061ff+10,6f00f7+22,a400f7+40,ea32ff+56,ea32ff+72,ff3292+85,ff0004+92 */

.ShredometerProgressFill.low {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a5ff+6,00a5ff+14,0061ff+34,6f00f7+57,a400f7+79 */
background: #00a5ff; /* Old browsers */
background: -moz-linear-gradient(-45deg, #00a5ff 6%, #00a5ff 14%, #0061ff 34%, #6f00f7 57%, #a400f7 79%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #00a5ff 6%,#00a5ff 14%,#0061ff 34%,#6f00f7 57%,#a400f7 79%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #00a5ff 6%,#00a5ff 14%,#0061ff 34%,#6f00f7 57%,#a400f7 79%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a5ff', endColorstr='#a400f7',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}


.ShredometerProgressFill.medium {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0061ff+10,6f00f7+22,a400f7+40,ea32ff+56,ea32ff+72,ff3292+85 */
background: #0061ff; /* Old browsers */
background: -moz-linear-gradient(-45deg, #0061ff 10%, #6f00f7 22%, #a400f7 40%, #ea32ff 56%, #ea32ff 72%, #ff3292 85%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #0061ff 10%,#6f00f7 22%,#a400f7 40%,#ea32ff 56%,#ea32ff 72%,#ff3292 85%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #0061ff 10%,#6f00f7 22%,#a400f7 40%,#ea32ff 56%,#ea32ff 72%,#ff3292 85%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0061ff', endColorstr='#ff3292',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.ShredometerProgressFill.high {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#a400f7+23,ea32ff+41,ea32ff+52,ff3292+74,ff0004+92 */
background: #a400f7; /* Old browsers */
background: -moz-linear-gradient(-45deg, #a400f7 23%, #ea32ff 41%, #ea32ff 52%, #ff3292 74%, #ff0004 92%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #a400f7 23%,#ea32ff 41%,#ea32ff 52%,#ff3292 74%,#ff0004 92%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #a400f7 23%,#ea32ff 41%,#ea32ff 52%,#ff3292 74%,#ff0004 92%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a400f7', endColorstr='#ff0004',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}


/*
 * /END SHREDOMETER
 */

/*
 * PLAYER
 */
.PlayerContainer {
  position: relative;
  width: 100%;
  margin-bottom: 15px;
  background: rgba(0, 0, 0, 0.5);
}

.Player {
  position: relative;
}

.PlayerControlButton,
.PlayerControlButton:focus,
.PlayerControlButton:active {
  appearance: none;
  outline: 0;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.4em;
  cursor: pointer;
  padding: 0.2em;
  line-height: 1;
  opacity: 0.9;
  transition: opacity 0.2s ease-out;
}

.PlayerControlButton:hover,
.PlayerControlButton:active {
  opacity: 1;
}

.PlayerControlButton:disabled,
.PlayerControlButton.disabled,
.PlayerControlButton:disabled:hover,
.PlayerControlButton.disabled:hover {
  color: #a2a2a2;
  opacity: 0.2;
  pointer-events: none;
}

.PlayerControlRandomButton,
.PlayerControlRepeatButton,
.PlayerControlRandomButton:active,
.PlayerControlRepeatButton:active,
.PlayerControlRandomButton:focus,
.PlayerControlRepeatButton:focus {
  opacity: 0.3;
}

.PlayerControlRandomButton:hover,
.PlayerControlRepeatButton:hover {
  opacity: 0.5;
}

.PlayerControlRandomButton.active,
.PlayerControlRepeatButton.active,
.PlayerControlRandomButton.active:active,
.PlayerControlRepeatButton.active:active,
.PlayerControlRandomButton.active:focus,
.PlayerControlRepeatButton.active:focus {
  opacity: 0.9;
}

.PlayerControlRandomButton.active:hover,
.PlayerControlRepeatButton.active:hover {
  opacity: 1;
}

.PlayerVolumeContainer {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
}
/*
 * /END PLAYER
 */

/*
 * VOLUME SLIDER
 */

.VolumeSliderContainer {
  height: 150px;
  width: 20px;
  position: relative;
}

.VolumeSliderWrapper {
  height: 100px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  font-size: 0.6em;
  text-align: center;
}

.VolumeSlider {
  height: 80px;
  width: 10px;
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,0.3);
  overflow: hidden;
  cursor: pointer;
}

.VolumeSlider.visible {
  visibility: visible;
}

.VolumeSlider.hidden {
  visibility: hidden;
  pointer-events: none;
}

.VolumeSlider .handle {
  left: 1px;
  width: 48px;
  line-height: 50px;
}

.VolumeSlider .bar {
  position: relative;
  left: 0;
  width: 10px;
  height: 100%;
  background: rgba(255,255,255,0.1);
  cursor: pointer;
}

.VolumeSlider.handle.active {
  background-color: #000;
}

.VolumeSlider .bar.bar-1 {
  background: rgba(255,255,255,0.9);
}

/*
 * /END VOLUME SLIDER
 */



/*
 * CONFIG SETTINGS
 */

.ConfigSettings {

}

.ConfigSettings label {
  display: block;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #ffb5de;
}

.ConfigSettings .field {
  margin-bottom: 20px;
}

/*
 * /END CONFIG SETTINGS
 */

/*
 * SETTING RANGE SLIDER
 */

.SettingRangeSlider {
  width: 100%;
  height: 2em;
  transition: all 0.2s ease-out;
  border: 1px solid transparent;
}

.SettingRangeSlider:hover {
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.07);
}

.SettingRangeSlider .handle {
  top: 50%;
  transform: translate(0, -50%);
  width: 2.5em;
  height: 2.5em;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.8);
  color: rgba(255,255,255,0.9)
}

.SettingRangeSlider .handle-label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 0.8em;
  line-height: 1;
  opacity: 0;
  text-align: center;
  transition: all 0.2s ease-out;
}

.SettingRangeSlider:hover .handle-label {
  opacity: 1
}

.SettingRangeSlider .handle.active {
  background-color: #000;
}

.SettingRangeSlider .bar {
  top: 50%;
  height: 1em;
  background-color: rgba(255, 58, 158, 0.8);
  transform: translate(0, -50%);
}

.SettingRangeSlider .bar.bar-1 {
  background: rgba(0,0,0,0.5);
}

/*
 * /END SETTING RANGE SLIDER
 */


#bottom {
  padding-top: 10px;
  margin-bottom: 40px;
}

#settings {
  font-size: 0.7em;
  font-family: Helvetica, ariel, sans-serif;
  color: rgba(255, 255, 255, 0.4);
  text-shadow: none;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.2s ease-out;
  float: left;
}

#quit {
  font-size: 0.7em;
  font-family: Helvetica, ariel, sans-serif;
  color: rgba(255, 255, 255, 0.4);
  text-shadow: none;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.2s ease-out;
  float: right;
}
#quit:hover {
  color: rgba(255, 255, 255, 0.6);
}
