@import 'ember-paper';
@import 'bower_components/bootstrap-sass/assets/stylesheets/_bootstrap';
@import 'ember-modal-dialog/ember-modal-structure';
@import 'ember-modal-dialog/ember-modal-appearance';
@import "fancy-speaker";

$playerHeight: 400px;
$playerDefaultIconColor: #BBBBBB;
$footerHeight: 40px;
$playerBottomHeight: 340px;
$secondaryThemeColor: #F12B24;
$glowingText: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #228DFF;
$dimmerOnButtonColor: #404040;

  // BRIDGE FINDER
html {
  min-height: 100%;
  height: auto;
}

body {
  font-family: 'Slabo 27px', serif;
  margin-bottom: $footerHeight + 30px;
  position: static;
}

#introPic {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
}

.introParagraph {
  margin-bottom: 30px;
}

.goButton {
  margin-top: 20px;
  border-radius: 100% !important;
  width: 100px;
  height: 100px;
  span {
    font-size: 20px;
    width: 100%;
  }
}

.introjs-overlay{
  background: black;
}

.goButton:hover {
  background: darken(#3f51b5, 10%) !important;
}

// Ember paper hax for FF
md-progress-circular[md-mode=indeterminate] .md-spinner-wrapper {
  transform: none !important;
}
.md-button {
  flex-direction: unset;
  span {
    width: 100%;
  }
}

.alert {
  margin-bottom: 0;
}

.relative {
  position: relative;
}

#settings {
  padding-right: 5px;
  text-align: right;
  z-index: 3;
  font-size: 16px;
}

.settingsItem {
  position: relative;
  display: inline-block;
  transition: 0.1s all ease-in-out;
  cursor: pointer;
  span md-icon {
    position: relative;
    bottom: 5px;
    right: 5px;
  }
}

.settingsItem:nth-of-type(2){
  margin-left: 10px;
}

md-switch[disabled=disabled], md-switch[disabled=disabled] .md-container, md-slider[disabled=disabled] {
  cursor: not-allowed;
}

.settingsItem .settings::before, .settingsItem .group::before {
  font-size: 28px;
  transition: 0.1s all ease-in-out;
}

.settingsItem span:hover {
  text-decoration: underline;
  md-icon.group {
    color: black !important;
  }
  md-icon.settings {
    color: black !important;
  }
}

.ember-app {
  padding-bottom: 50px;
}

#footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: $footerHeight;
  p {
    padding-left: 0;
    text-align: center;
  }
}

.cursorPointer {
  cursor: pointer;
}

.bridgeFinder, .readyBlock {
  text-align: center;
  padding-top: 20px;
}

// preloading image
.readyBlock:after {
  display: none;
  content: url(images/pressButtonBridge.png);
}

.title {
  font-size: 30px;
  margin-bottom: 30px;
}

#bridgeInput {
  md-input-container {
    max-width: 200px;
    margin: 0 auto;
  }
}

md-progress-circular {
  margin: 0 auto 20px auto !important;
}

md-progress-linear {
  margin-bottom: 50px;
}

#pressButtonBridgeImg {
  width: 200px;
  margin: 0 auto 30px auto;
  display: inherit;
}

.noTextDecoration {
  text-decoration: none;
}

#bridgeButtonGroup {
  width: 150px;
  margin: 30px auto;
  text-align: left;
}

// HUE CONTROLS
#appSettings {
  position: absolute;
  background: white;
  box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.3);
  width: 175px;
  left: -85px;
  top: 20px;
  border: none;
  color: black;
}

.bootstrapTooltip md-icon {
  font-size: 22px;
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0); // hack for chrome to force hardware acceleration and stop flickering
}

md-list {
  padding: 0;
}

md-list-item .md-no-style {
  padding: 0;
}

#lightsTab {
  min-height: 400px;
}

.lightCtrlTooltip + .tooltip {
  left: -20px !important;
}

#colorRow {
  cursor: pointer;
}

#colorRow * .tooltip {
  left: -7px !important;
}

#hueControls {
  max-width: 1200px;
  position: relative;
}

// preload images
#hueControls:after, md-progress-circular:after {
  display: none;
  content: url(images/colormap.png) url(images/missingArtwork.png) url(images/sc-white.png) url(images/favicons/favicon-90x90.png) url(images/lights/a19.svg) url(images/lights/a19w.svg) url(images/lights/br30.svg) url(images/lights/br30w.svg) url(images/lights/gu10.svg) url(images/lights/gu10w.svg) url(images/lights/huego.svg) url(images/lights/huegow.svg) url(images/lights/lc_aura.svg) url(images/lights/lc_auraw.svg) url(images/lights/lc_bloom.svg) url(images/lights/lc_bloomw.svg) url(images/lights/lc_iris.svg) url(images/lights/lc_irisw.svg) url(images/lights/lightstrip.svg) url(images/lights/lightstripw.svg) url(images/lights/storylight.svg) url(images/lights/storylightw.svg);
}

.navigation {
  text-align: center;
  padding: 30px 0;
}

.navigationItem {
  font-size: 18px;
  padding: 0 10px 0 10px;
}

.navigationItem.active {
  font-weight: bold;
  cursor: default;
  text-decoration: none !important;
}

.navigationItem:hover {
  text-decoration: underline;
}

.color {
  border: 1px solid rgba(0, 0, 0, 0.5);
  position: absolute;
  top: -53px;
  right: 0;
}

.colorpicker {
  padding: 10px;
  background: rgba(0, 0, 0, 0.7);
  box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
  position: absolute;
  width: 275px;
  height: 275px;
  right: 6px;
  top: -9px;
  z-index: 3;
}

#picker {
  cursor: crosshair;
}

#loopAddition {
  position: absolute;
  left: 18px;
  top: 13px;
  font-size: 16px;
}

// LIGHT GROUP
md-slider {
  cursor: pointer;
}

md-slider.md-default-theme .md-thumb:after {
  border-color: $secondaryThemeColor;
  background-color: $secondaryThemeColor;
}

.paper-sidenav {
  overflow: visible;
}

#groupList {
  box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.3);
  border-radius: 0 0 5px 5px;
  width: 300px;
  top: 20px;
  left: -210px;
  position: absolute;
  background-color: white;
  max-height: 400px;
  overflow: auto;
  text-align: left;
  padding: 0;
  color: black;
}

.lightGroup {
  margin: 0 auto 0 auto;
  .tooltip.top {
    margin-top: 4px;
    margin-left: 0;
  }
  div {
    display: inline-block;
  }
}

.lightInactive {
  cursor: pointer;
  position: relative;
}

.lightInactive::before {
  font-weight: bold;
  position: absolute;
  content: "X";
  top: -10px;
  left: 5px;
  font-size: 40px;
  color: rgba(255, 0, 0, 0.37);
  font-family: cursive;
}

.horizontalLightGroup {
  .lightInactive::before {
    top: -9px;
    left: 6px;
  }
  .tooltip.top {
    margin-top: 1px;
    margin-left: 2px;
  }
}

.lightActive {
  cursor: pointer;

  img {
    transition-duration: 0.3s;
    transition-property: transform;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  }
  img:hover {
    transform: scale(1.2);
  }
}

.ember-modal-overlay.translucent {
  background-color: rgba(0, 0, 0, 0.50);
}

md-icon {
  color: rgba(0, 0, 0, 0.54) !important;
}

.addButton {
  width: 100%;
  cursor: pointer;
  margin-left: 10px;
}

.removeButton {
  margin: 10px 0 10px 60px;
}

.sideNavTitle {
  margin-left: 16px;
  margin-top: 10px;
  text-align: left;
}

md-toolbar {
  background-color: inherit !important;
}

// GROUP CONTROL
.groupRow {
  transition: 0.1s all ease-in-out;
}


.groupRow.selectedRow {
  background-color: #7F7F7F !important;
  color: white;
}

.groupRow:hover {
  background-color: #DEDEDE;
}

.groupRow.selectedRow .groupSelect {
  cursor: default;
}

.groupSelect {
  cursor: pointer;
  padding: 10px 0 10px 10px;
  width: 70%;
  font-family: 'Open Sans', sans-serif;
}

.newGroup {
  font-size: 18px;
  min-height: 100%;
  width: 100%;
  padding: 10px 0 10px 10px;
  margin: 0;
  .group-add {
    margin-right: 5px;
  }
}

.newGroupRow{
  background: white;
}

.newGroupRow:hover {
  background-color: darken(white, 5%);
}

.groupRow:hover * .close {
  display: block;
}

.groupRow:hover * .close {
  display: block;
}

.selectedRow * .close {
  color: white !important;
}

.selectedRow.groupRow * .close:hover {
  color: darken(white, 20%) !important;
}

.close:hover {
  color: darken(#333333, 5%) !important;
}

.close:hover {
  opacity: 1;
}

.close {
  font-size: 18px !important;
  color: rgb(51, 51, 51);
  display: none;
  opacity: 1;
  text-shadow: none;
}

// MUSIC TAB
.row {
  margin: 0;
}

#musicTab{
  padding: 0;
  margin-bottom: $footerHeight + 50px;
}

#slideToggle {
  color: $playerDefaultIconColor;
  background: #730B07;
  div md-icon {
    color: inherit !important;
  }
}

#slideToggle:hover{
  color: lighten($playerDefaultIconColor, 30%) !important;;
}

md-switch.md-default-theme.md-checked .md-bar {
  background-color: rgba(241, 43, 36, 0.5);
}

md-switch.md-default-theme.md-checked .md-thumb {
  background-color: $secondaryThemeColor;
}

#playerControls {
  transition: all 0.2s ease-in-out;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 5px 10px;
  width: 100%;
  color: white !important;
  z-index: 20;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  .tooltip.top {
    margin-top: -17px;
  }
  .tooltip-arrow {
    display: none;
  }
  .play-arrow, .pause, .replay {
    font-size: 30px;
  }
}

#playerTimeControls {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  display: inline-block;
  margin-left: 1em;
}

.playerControllIcon {
  color: $playerDefaultIconColor !important;
  transition-duration: 0.1s;
  margin-right: 5px;
}

.playerControllIcon.active {
  color: $secondaryThemeColor !important;
}

.playerControllIcon:hover {
  color: white !important;
}

#playNotification {
  position: relative;
  color: white;
  top: 50%;
  left: 50%;
  opacity: 0;
  background: black;
  border-radius: 100%;
}

.fadeOut {
  animation-duration: 1s;
  animation-name: fadeOut;
}

@keyframes fadeOut {
  from {
    opacity: 0.8;
    font-size: 24px;
  }

  to {
    opacity: 0;
    transform: scale(3);
  }
}

#playerArea {
  height: $playerHeight;
  background-color: black;
  display: inline-block;
  padding: 0;
}

#playlist {
  height: $playerHeight;
  background-color: #1E1E1E;
  padding: 0 5px 0 5px;
}

#playerArea * .noUi-origin {
  background-color: black;
  border-radius: 5px;
}

#playerArea * .noUi-base {
  background-color: $secondaryThemeColor;
  border-radius: 5px;
}

.noUi-base {
  cursor: pointer;
}

.noUi-connect {
  background-color: $secondaryThemeColor;
}

#volumeBar {
  width: 5em;
  height: 0.4em;
  display: inline-block;
}

.noUi-handle {
  cursor: pointer;
}

.noUi-horizontal .noUi-handle {
  width: 0.4em;
  height: 1.3em;
  left: -0.071em;
  top: -0.500em;
  transition-duration: 0.1s;
  background: $playerDefaultIconColor !important;
}

.noUi-horizontal .noUi-handle:hover {
  background: white !important;
}

#playerArea * .noUi-handle::after, #playerArea * .noUi-handle::before {
  content: none;
}

#seekSlider {
  height: 6px;
  margin-bottom: 10px;
  transition-duration: 0.2s;
}

// mobile overrides
@media(max-width:767px) {
  .noUi-pips-vertical {
    display: none;
  }
  #seekSlider {
    height: 8px;
    .noUi-handle {
      opacity: 1 !important;
    }
  }
}

#seekSlider:hover {
  height: 8px;
}

#seekSlider:hover * .noUi-handle {
  opacity: 1;
}

#seekSlider * .noUi-handle {
  border: none;
  height: 13px;
  width: 13px;
  border-radius: 50%;
  top: -4px;
  left: -6px;
  opacity: 0;
  transition-duration: 0.1s;
  background-color: $secondaryThemeColor !important;
  box-shadow: none;
}

#playListControls {
  min-height: 30px;
  margin-top: 5px;
  border-bottom: 1px solid #3a3a3a;
  position: relative;
}

#playListArea, #playAreaMic {
  background-color: white;
  width: 100%;
  height: 350px;
  margin: 10px auto 0 auto;
  border-radius: 5px;
  transition: 0.1s all ease-in-out;
  position: relative;
  overflow: auto;
  #dragHere {
    position: absolute;
    top: 27%;
    font-size: 20px;
    text-align: center;
    width: 100%;
  }
  .library-music {
    position: absolute;
    top: 40%;
    font-size: 100px;
    opacity: 0.5;
    width: 100%;
    text-align: center;
  }
}

.ember-notify-cn {
  top: 0;
  bottom: auto;
}

.songArtist {
  font-weight: bold;
}

#playListArea.dragHereHighlight {
  background-color: white;
  border: 5px dotted #5383ff;
}

#playListArea.draggingOver {
  background-color: darken(white, 5%);
  box-shadow: inset 0 0 20px 0 rgba(0, 0, 0, 1);
}

#fileInput {
  width: 1px;
  height: 1px;
  visibility: hidden;
}

.playlistItem {
  border-bottom: 1px solid rgba(128, 128, 128, 0.3);
  border-top: 1px solid rgba(128,128,128,0.3);
  height: 62px;
  font-family: 'Open Sans', sans-serif;
  padding: 0 20px 0 5px;
  position: relative;
  color: black;
  background: darken(white, 5%);
  .close {
    font-size: 18px;
  }
  .albumArt {
    height: 60px;
    float: left;
    margin-right: 5px;
    border: 1px solid rgba(0, 0, 0, 0.5);
  }
  .songInfo {
    .songTitle {
      max-height: 40px;
      overflow: hidden;
    }
    .songArtist {
      max-height: 20px;
      overflow: hidden;
    }
  }
  .audioRemoveButton {
    position: absolute;
    top: 20px;
    right: 5px;
  }
}

.playlistItem.active {
  background: darken(white, 15%) !important;
  border-top: 1px solid $secondaryThemeColor;
  border-bottom: 1px solid $secondaryThemeColor;
}

.playlistItem:hover {
  background: darken(white, 10%);
  .close {
    display: block;
  }
}

#beatArea {
  height: $playerBottomHeight;
  position: relative;
  padding: 20px 0 0 0;
}

.noUi-target {
  margin: 0 auto;
}
.noUi-base, .noUi-background {
  background-color: #ADADAD;
  border: 1px solid #797979;
}
.noUi-vertical {
  height: 170px;
  margin-top: 15px;
  margin-bottom: 15px;
}

.star {
  cursor: auto !important;
}

.savedStarTooltip + .tooltip .tooltip-arrow {
  margin-left: 8px;
}

#beatOptionButtonGroup {
  margin: 20px 0 10px 0;
  .beatOption:nth-of-type(2) md-switch {
    margin-left: 10px;
  }
}

.beatOption {
  padding: 0;
  text-align: center;
  md-switch {
    margin: 0;
  }
  .optionDescription {
    font-size: 13px;
  }
  button {
    margin-top: 0;
  }
}

#playerBottom {
  color: black;
  border: 1px solid black;
  width: 100%;
  background: white;
}

#beatContainer {
  -webkit-transform: translate3d(0, 0, 0); // hack for chrome to force hardware acceleration and stop flickering
  padding: 0;
  height: $playerBottomHeight;
  .speakerSwitch {
    top: 0;
    left: 0;
    position: absolute;
    margin-left: 0;
    margin-bottom: 10px;
  }
  .debugFilteredSwitch {
    top: 0;
    right: 0;
    position: absolute;
    margin-left: 0;
    margin-bottom: 10px;
  }
}

#beatArea .lightGroup {
  margin: 10px 20px 0 40px;
  float: right;
  div {
    display: block;
    padding: 10px;
  }
}

#playerButtonGroup {
  margin-top: 10px;
}

#beatHistory {
  border: 1px solid #C5C5C5;
  color: black;
  height: 85%;
  background-color: white;
  border-radius: 10px;
  width: 290px;
  margin: 40px auto 0 auto;
  overflow: auto;
  padding: 10px;
  box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.1);
  p {
    margin-bottom: 5px;
  }
  .filterBeat {
    font-style: italic;
  }
}

#ytplayer{
  display: block;
  width: 100%;
  height: 100%
}

.dimmerBulbOn {
  fill: gold;
  stroke: gold;
  stroke-width: 10px;
}

div.dimmerOn {
  color: white !important;
  background: #171717 !important;
}

html.dimmerOn {
  color: white;
  background: #242424;
}

body.dimmerOn {
  color: white;
  background: #242424;
  .md-track {
    background: white;
  }
  .color {
    border: 1px solid white;
  }
  .playlistItem {
    color: #cdcdcd;
    background: $dimmerOnButtonColor;
  }
  .playlistItem.active {
    background: darken($dimmerOnButtonColor, 15%) !important;
  }
  .playlistItem:hover {
    background: darken($dimmerOnButtonColor, 10%);
  }
  .playlistItem .close {
    color: #cdcdcd !important;
  }
  .playlistItem .close:hover {
    color: white !important;
  }
  svg {
    -webkit-filter: drop-shadow(0 0 5px #228DFF);
  }
  md-input-container {
    label {
      color: white;
    }
    input {
      border-bottom-color: white !important;
    }
    input {
      color: white !important;
    }
  }
  .addNewMusic {
    background: $dimmerOnButtonColor
  }
  .addNewMusic:hover {
    background: darken($dimmerOnButtonColor, 5%);
  }
  #extraOptionsMenu {
    opacity: 0.7;
  }
  #extraOptionsMenu:hover {
    background: rgba(0, 0, 0, 0.9);
  }
}

.power-settings-new.dimmerOn,
.brightness-4.dimmerOn,
.color-lens.dimmerOn,
.flare.dimmerOn,
.loop.dimmerOn,
.group.dimmerOn,
.settings.dimmerOn,
.library-music.dimmerOn {
  color: inherit !important;
  text-shadow: $glowingText;
  opacity: 0.9 !important;
}

#dimmerWrapper {
  position: absolute;
  left: -50px;
  bottom: -10px;
  cursor: pointer;
  svg {
    width: 40px;
    height: 40px;
  }
}

.noUi-value-vertical {
  margin-top: -10px;
}

.noUi-value-vertical, .noUi-pips {
  color: inherit !important;
  font: 400 14px 'Slabo 27px';
}

.noUi-vertical .noUi-handle {
  border: 1px solid #A3A0A0;
  width: 26px;
}

.noUi-vertical .noUi-handle:after, .noUi-vertical .noUi-handle:before{
  background: grey;
}

#saveBeatPreferencesStar {
  position: absolute;
  top: 5px;
  left: 5px;
  color: $secondaryThemeColor !important;
  font-size: 25px;
}

button.md-warn {
  background: $secondaryThemeColor;
}

div.ember-modal-dialog {
  padding: 20px;
  color: black;
  md-input-container input {
    color: black !important;
  }
  md-input-container label {
    color: rgba(0, 0, 0, 0.26);
  }
}

.addMusicButton {
  float: right;
  color: white;
}

#addMusicChoices {
  min-width: initial;
  right: 0;
  left: initial;
  width: 100px;
  top: 25px;
}

.addNewMusic {
  padding: 0 5px 0 10px;
  font-size: 16px;
  border-radius: 5px;
  background: #f8f8f8;
  border: none;
}

.addNewMusic:hover {
  background: darken(#f8f8f8, 5%);
}

.soundCloudLink {
  margin-right: 5px;
}

#visualization {
  position: absolute;
  top: 0;
  left: 0;
}

.check {
  margin-left: 10px;
  position: relative;
  top: -4px;
}

.visualizersMenu {
  left: -135px;
}

.displayIcon {
  background:url(images/favicons/favicon-90x90.png) center center no-repeat;
}

.keyboard-arrow-down {
  font-size: 20px;
}

#extraOptionsMenu {
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  padding: 3px 15px;
  position: absolute;
  bottom: -37px;
  right: 17px;
  border-radius: 0 0 5px 5px;
}

#extraOptionsMenu:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.8);
}

.introjs-helperNumberLayer {
  line-height: 17px;
  padding: 0;
  width: 23px;
  height: 23px;
}

#settings.introjs-fixParent{
  position: inherit !important;
}

.introjs-tooltip {
  color: black;
}

.introjs-skipbutton{
  color: $secondaryThemeColor;
}

.introjs-bullets ul li a.active {
  position: relative;
  height: 10px;
  width: 10px;
  top: -2px;
}

#micBoost {
  margin-top: 50px;
}
