updated splash screen (bug 835806)

updated splash screen (bug 835806)

@import 'lib';

#splash-overlay {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #f1f1f1 50% 30% no-repeat;
    opacity: 1;
    background-image: url(data:image/png;base64,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);
    .transition(~'.3s opacity ease-out');
    .throbber {
        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAEfklEQVRIib3Wa2wUVRQH8AHEAiICJgRJ2W7fj91Cl93ug+22S7u7pRADwYj6oTFRP2AMLwnEiNg1xg9ghARjQiOkCrizc2fm3pldbBCJq+ycc6bFiERjYjBBQQ0+Y1R8RHD9QJFHC2mx6z85H+bemfvLSe69GUkaRWYf7J9Rns7f71SsneVpOFwuw9lyGc6WyXC2LA0fOVLWgfmytbFUzgdGs95N45Rzzsq01VepQKFSgUKFAoWKNBTKh8o5VA7ZulCWgnPzU9bx0hSsvWWwSoFktYKFKgUKVUNo5QhomQwXHTKcd8jWGUfKQocMrHTv4dlj664vN7OGwYkahoVqhoXL8NVoxdVoagR0J5s6VvCDWoaFmqGqVq7AFWk4XZG2djlT1gannI86U8dWOmTocchW2iFbZ+anrCOlB/LRMXVZy+B4LYMLNQz/vgxf6hZOVMljXGyU4NY6Ff6oZ/hnHYO/ahS8WMuwUKNActwxSZKkCmY5Ghj8Uq/i+ToGv1+BrYeLAkqSJLkUeMXF8Kd6FX5uYPhrHcPfalV4pnggy01vYPBdA8MfXAx+HMI/Lhp4Cc0vdat4zq3BN24Vvm1Q8XuXgg8VFXUza3Ojil82qvCVW4OvXRp8WlRQkiSpUYXtCzQ6vUDDz90qfOFW4dX/AcV9C1U8tVDFU40afubWYF0RmAnXPDVpaDTp9Mm/peET404mkxOvR1/0aHTSo9HJJp0+XKjRmqKjHg2f9ej0vkfD4006Di7ScMc4kxMkxiZdi+rQ7dERPRqCV0NrEaf+cSWTyYnRZO62a8a8zGpZpON7Po7venV6x8fxqFeFxHiZ3t7eyd7e3snXDWan+Tge9el0pFnHwz5O/T6O+8ZFZGxStC83ZRgqSZLk1WGTT6c3mzlm/RyNgE6an9N/vewnRFlueojhVBdjtw+bXcBhjp+j0cxJ93NkAU5yQOD+oE7hW+KSyYnLD+Vnxdjbd92bzU7r2t1fMuJ7zRqt9nNUggLfCHB8PcTtfQFu7wlyWjUWr2t3f8kyNjg3wWFOVORmJva/dUe0Lzflhh8EOWwNcnwtKGhvgNt7Qjq93CLopYigLYsFNN0Mi/blpsRNa95yTvXLdChbxgbnLj+UnxVluek3Rb292WlBQT2XwZBBO1sEbW8R9HxE2NsiAje0CkhEBPrbdSiLcapfkrFc7QYuTmQG2jsF+jszg65EZqC8Uz92TyfD2WHTunPYOR0JDgl7fVjYu8KGvSPM6YUWQT1tBj0dMXFz1LTXtwt6vN2gx+LC7o5laHUsY6+IZ7EjYVAgwcHdJaAyblrzOvjA3SPu3BtlsYBEi6CeiGE/FxH2tlbDfqpV2JuWGLQuatKajgw+Ghd2d4dBD3SIgZUxg2JLswOhmIGNnSZWJTjMGXYpjCZNIjczwmFFG6cn2wRtaTNoY5ugtVGT1sRMfCQu7O6EaT8YM2lVp4lL4yaFuwy7oeugPWPM2PWp2t1f0qrZ1RGdwm3cji/htCom7PtiGXtFhzEQiZuWL8YsR4jhqH6y/wGjN55P0DKcoQAAAABJRU5ErkJggg==);
        display: block;
        position: fixed;
        top: 30%;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 29px;
        height: 29px;
        .animation(~'0.9s spin infinite steps(30)');
    }
    &.hide {
        /*opacity: 0;*/
        /*pointer-events: none;*/
    }
}

@media screen and (-webkit-min-device-pixel-ratio: 1.5),
       screen and (min--moz-device-pixel-ratio: 1.5),
       screen and (min-device-pixel-ratio: 1.5) {
    #splash-overlay {
        .background-size(108px);
    }
}

@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0turn); }
    to { -webkit-transform: rotate(1turn); }
}
@-moz-keyframes spin {
    from { -moz-transform: rotate(0turn); }
    to { -moz-transform: rotate(1turn); }
}
@keyframes spin {
    from { transform: rotate(0turn); }
    to { transform: rotate(1turn); }
}

@import 'lib';

#splash-overlay {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #d46429 50% 30% no-repeat;
    opacity: 1;
    background-image: url(data:image/png;base64,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);
    .transition(~'.3s opacity ease-out');
    .throbber {
        display: block;
        position: absolute;
        top: 30%;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 32px;
        height: 32px;
        .border-radius(20px);
        border: 4px solid #666;
        border-color: #444 transparent;
        .animation(~'spin 1s linear infinite');
    }
    &.hide {
        opacity: 0;
        pointer-events: none;
    }
}

@media screen and (-webkit-min-device-pixel-ratio: 1.5),
       screen and (min--moz-device-pixel-ratio: 1.5),
       screen and (min-device-pixel-ratio: 1.5) {
    #splash-overlay {
        .background-size(108px);
    }
}

@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0turn); }
    to { -webkit-transform: rotate(1turn); }
}
@-moz-keyframes spin {
    from { -moz-transform: rotate(0turn); }
    to { -moz-transform: rotate(1turn); }
}
@keyframes spin {
    from { transform: rotate(0turn); }
    to { transform: rotate(1turn); }
}


Small style tweaks to activity action buttons.

@import 'constants.less';

@section-header-bg: darken(@color-grey-background, 5.5%);
@column-border-radius: 5px;
@activity-width: 500px;
@color-activity-border: lighten(@color-grey-border, 12%);

.loading-shimmer-frames () {
  from {
    background-position-x: -100000px;
  }
  to {
    background-position-x: 100000px;
  }
}

@-webkit-keyframes loading_shimmer {.loading-shimmer-frames;}
@-moz-keyframes loading_shimmer {.loading-shimmer-frames;}
@-o-keyframes loading_shimmer {.loading-shimmer-frames;}
@keyframes loading_shimmer {.loading-shimmer-frames;}

.glyphicon-inverted(@fg, @bg) {
  text-align: center;
  color: @fg;
  background-color: @bg;
  padding: 2px;
  width: 17px;
  font-size: 12px;
  border-radius: 3px;
  margin: 0 1px;
}

.room-container {
  margin-left: 0;
  margin-right: 0;
  position: relative;
}

.room-activity {
  @media only screen and (min-width: @single-col-width) {
    position: absolute;
    top: 0;
    bottom: 0;

    &.rightmost {
      right: 0;
    }
  }

  @h1-height: 36px;
  @activities-side-padding: 15px;

  .top-fade, .bottom-fade {
    position: absolute;
    left: 10px + @activities-side-padding;
    right: 10px + @activities-side-padding;
    z-index: 20;
    pointer-events: none;

    display: none;
    @media only screen and (min-width: @single-col-width) {
      display: block;
    }
  }

  .top-fade {
    top: @h1-height;
    height: 15px;

    @box-shadow: inset 0px 20px 10px -15px white;
    -webkit-box-shadow: @box-shadow;
    -moz-box-shadow: @box-shadow;
    box-shadow: @box-shadow;
  }

  .bottom-fade {
    bottom: 0;
    height: 50px;

    @box-shadow: inset 0px -75px 30px -50px white;
    -webkit-box-shadow: @box-shadow;
    -moz-box-shadow: @box-shadow;
    box-shadow: @box-shadow;
  }

  & > h1 {
    border-bottom: solid 1px @color-activity-border;
    text-align: center;
    margin-top: 0;
    padding-bottom: 10px;
    font-size: 22px;
    height: @h1-height;

    @media only screen and (min-width: @single-col-width) {
      position: absolute;
      left: 10px;
      right: 10px;
      top: 0;
    }
  }

  .activity-container {
    margin: 0;
    padding: 0;

    @media only screen and (min-width: @single-col-width) {
      position: absolute;
      top: @h1-height;
      bottom: 0;
      left: 10px;
      right: 10px;
      overflow: auto;
      padding-bottom: 50px;
      padding-top: 4px;
      padding-left: @activities-side-padding;
      padding-right: @activities-side-padding;
    }

    & > li {
      @vertical-padding: 8px;
      margin: @vertical-padding 0;
      list-style: none;
      position: relative;

      h1 {
        color: darken(@color-grey-border, 50%);
        font-size: 12px;
        padding: 0;
        margin: 0;
        display: block;
      }

      .timestamp {
        float: right;
        margin-right: 5px;
        font-size: 10px;
        color: darken(@color-grey-border, 8%);
        text-transform: uppercase;

        &.counter-padding {
          float: left;
          visibility: hidden;

          display: none;
          @media only screen and (min-width: @single-col-width) {
            display: block;
          }
        }
      }

      &.activity-join, &.activity-leave {
        background-color: darken(@color-grey-background, 2%);
        border-radius: 5px;

        h1 {
          font-size: 11px;
          line-height: 20px;
          font-weight: 400;

          @media only screen and (min-width: @single-col-width) {
            text-align: center;
          }
        }

        .timestamp {
          line-height: 20px;
          color: darken(@color-grey-border, 12%);
        }
      }

      &.activity-song {
        @height: 50px;
        @line-height: @height * 0.25;
        padding-left: @height + 10px;
        padding-top: @vertical-padding;
        margin-top: 0;
        border-top: solid 1px @color-activity-border;

        &:after {
          clear: both;
          content: "";
          display: block;
        }

        h1 {
          line-height: @line-height;
          color: lighten(black, 50%);

          .name {
            color: lighten(black, 10%);
          }
        }

        .timestamp {
          top: @vertical-padding;
        }

        .artwork {
          background-image: url('/images/unknown_song.png');
          width: @height;
          height: @height;
          background-size: cover;
          border-radius: 5px;
          margin-right: 10px;
          position: absolute;
          left: 0;
          top: @vertical-padding;
        }

        .song-info {
          font-size: 12px;
          margin-top: 2px;

          &:after {
            clear: both;
            content: "";
            display: block;
          }

          .title {
            font-weight: 500;
            font-size: 14px;
          }

          .artist-album {
            color: lighten(black, 40%);
            display: inline-block;
          }

          .actions {
            display: inline-block;
            float: right;
            margin-right: 5px;

            .glyphicon {
              font-size: 11px;
            }

            & > * {
              color: lighten(black, 70%);
              text-decoration: none;
              margin-left: 12px;

              &.disabled {
                cursor: default;
              }

              &:not(.disabled):hover {
                color: lighten(black, 50%);
              }
            }
          }
        }
      }

      &.activity-song:first-child,
      &:not(.activity-song) + .activity-song {
        border-top: none;
        margin-top: -8px;
      }

      &.activity-song:first-child {
        margin-top: -3px;
      }
    }
  }
}

.room-alert {
  padding: 5px;
  text-align: center;
  border-radius: 0;
  border-width: 0 0 1px 0;
  -moz-box-shadow: @site-box-shadow;
  -webkit-box-shadow: @site-box-shadow;
  box-shadow: @site-box-shadow;
  margin-left: -1000px;
  margin-right: -1000px;
  margin-top: -20px;

  &:empty {
    display: none;
  }
}

.fixed-column {
  padding: 0;
  height: 850px;

  #previews, #dj-list {
    overflow: auto;
    max-height: 550px;

    li {
      .glyphicon-music {
        .glyphicon-inverted(@color-grey-background, darken(@color-grey-background, 60%));
        margin: 0 1px;
        font-size: 11px;
        width: 18px;
      }
    }
  }

  @height_iterations: 1000px;
  @height_difference: 180px;
  @min_height: @height_difference + 100px;
  .loopingClass (@index) when (@index > @min_height) {
    @media only screen and (min-width: @single-col-width) and (max-height: @index) {
      height: @index - @height_difference;
      #previews, #dj-list {
        max-height: @index - @height_difference - 300px;
      }
    }
    .loopingClass(@index - 50px);
  }
  .loopingClass (0) {}
  .loopingClass (@height_iterations);

  @media only screen and (max-width: @single-col-width) {
    min-height: 100px;
    max-height: 400px;
    margin-bottom: 20px;

    #previews {
      max-height: 150px;
    }
  }

  .column-table {
    margin: 0;
    padding: 0;
    display: table;
    width: 100%;
    height: 100%;
    background-color: @color-grey-background;
    border: solid 1px @color-grey-border;
    border-radius: @site-border-radius;
    -webkit-box-shadow: @site-box-shadow;
    box-shadow: @site-box-shadow;

    .column-table-row {
      @section-padding: 5px;
      display: table-row;

      .column-section {
        position: relative;
        padding: @section-padding;
        height: 100%;
        color: darken(@color-grey-background, 60%);
        border-top: solid 1px lighten(@color-grey-border, 3%);

        &, &:before, &:after {
          @box-sizing: content-box;
          -webkit-box-sizing: @box-sizing;
          -moz-box-sizing: @box-sizing;
          box-sizing: @box-sizing;
        }

        &:empty {
          display: none;
        }

        &.section-header {
          background-color: @section-header-bg;
        }

        &::-webkit-scrollbar, ul::-webkit-scrollbar {
          border-left: solid 1px @color-grey-border;
          -webkit-appearance: none;
          background: @color-grey-background;
          margin-bottom: 5px;
        }

        &::-webkit-scrollbar:vertical, ul::-webkit-scrollbar:vertical {
          width: 8px;
        }

        &::-webkit-scrollbar-thumb, ul::-webkit-scrollbar-thumb {
          border-left: solid 1px @color-grey-border;
          background-color: darken(@section-header-bg, 2%);
          z-index: 1;

          &:hover {
            background-color: darken(@section-header-bg, 7%);
          }
        }

        & > h1 {
          color: black;
          margin: -@section-padding;
          font-size: 17px;
          text-align: center;
          background-color: @section-header-bg;
          padding: 8px;
          position: relative;
          min-height: 34px;

          .button {
            position: absolute;
            right: 6px;
            top: 6px;
            padding: 2px 8px;
            color: darken(@color-grey-background, 50%);

            &:hover:not(.disabled) {
              color: darken(@color-grey-background, 70%);
            }

            &.disabled {
              color: darken(@color-grey-background, 30%);
            }
          }

          .error {
            color: darken(red, 10%);
            font-size: 12px;
            font-weight: bold;
            margin-top: 3px;
            display: none;
          }

          .faded-edge {
            @box-shadow: inset 8px 0 8px 0px @section-header-bg;
            -webkit-box-shadow: @box-shadow;
            -moz-box-shadow: @box-shadow;
            box-shadow: @box-shadow;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
          }

          input[type=text] {
            border: none;
            background: none;
            padding: 0;
            padding-right: 10px;
            position: absolute;
            left: 0;
            right: 0;
            width: 100%;
            outline: none;
            font-family: inherit;
            font-weight: inherit;
            text-indent: 10px;
          }
        }

        & > ul  {
          list-style: none;
          margin: -@section-padding;
          padding: 0;

          li {
            @padding: 5px;
            background-color: @color-grey-background;
            border-bottom: solid 1px @color-grey-border;
            padding: @padding;
            position: relative;
            word-break: break-word;
            margin: 0;

            &:last-child {
              margin-bottom: 0;
              border-bottom-width: 0;
            }

            .background {
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0;
              background-color: darken(@color-grey-background, 60%);
              opacity: 0.1;
              z-index: 0;
            }

            &.failed {
              .foreground {
                .status {
                  color: darken(@red, 10%);
                }
              }

              .background {
                width: 100% !important;
                background-color: @red;
              }
            }

            &.added {
              .foreground {
                .status {
                  color: @green;
                }
              }

              .background {
                width: 100% !important;
                background-color: @green;
              }
            }

            .foreground {
              position: relative;
              background: none;
              z-index: 1;
              font-family: @font-family;

              .name {
                font-size: 13px;
                font-weight: 200;
              }

              .status, .error {
                font-size: 9px;
                font-weight: 500;
                text-transform: uppercase;
                letter-spacing: 0.4px;
              }

              .status {
                height: 13px;

                .size {
                  padding-right: 3px;
                }

                .glyphicon {
                  position: absolute;
                  top: 0;
                  right: 0;
                  font-size: 11px;
                }

                .glyphicon-ok-sign {
                  color: @green;
                }

                .glyphicon-exclamation-sign {
                  color: darken(@red, 5%);
                }
              }

              .error {
                color: darken(@red, 10%);
                padding-top: 4px;
              }
            }
          }
        }
      }

      .section-empty {
        font-style: italic;
        color: darken(@color-grey-background, 40%);
        margin-top: @section-padding * 2;

        &.center {
          @height: 160px;

          text-align: center;
          position: absolute;
          top: 50%;
          width: 100%;
          padding: 10px;
          margin: -@section-padding;
          height: @height;
          margin-top: -@height/2;
          font-size: 19px;
          font-style: normal;
          font-weight: 200;
        }
      }

      &.stretch {
        height: 100%;

        .column-section {
          overflow-x: hidden;
          overflow-y: auto;

          & > ul:not(#search-results-list) {
            height: 0;
            margin-top: -@section-padding - 1px;

            li {
              border-top: solid 1px @color-grey-border;
              margin-top: -1px;
            }

            li:last-child {
              border-bottom-width: 1px;
              margin-bottom: -1px;
            }
          }
        }
      }

      &:first-child {
        .column-section, h1 {
          border-top: none;
          border-top-left-radius: @site-border-radius - 1px;
          border-top-right-radius: @site-border-radius - 1px;
        }
      }

      &:last-child {
        .column-section, h1 {
          border-bottom-left-radius: @site-border-radius - 1px;
          border-bottom-right-radius: @site-border-radius - 1px;
        }
      }

      #queue-section {
        #search-results-list {
          background-color: @color-grey-background;
          margin: 0;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
        }

        #search-results-list .section-results-placeholder {
          color: darken(@color-grey-background, 40%);
          margin: 5px;
          font-size: 13px;
        }

        #search-results-list .section-header {
          position: relative;
          min-height: 24px;
          background-color: darken(@color-grey-background, 3%);
          border: solid 1px lighten(@color-grey-border, 10%);
          border-bottom: solid 1px lighten(@color-grey-border, 9%);

          .loading-gradient, .content {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
          }

          .loading-gradient {
            z-index: 99;

            @background: darken(@color-grey-background, 3%);
            @background-emphasis: lighten(@background, 10%);
            @background-emphasis-percent: 80%;

            @gradient-percent1: 50% - (@background-emphasis-percent / 2%);
            @gradient-percent2: 50%;
            @gradient-percent3: 50% + (@background-emphasis-percent / 2%);
            @gradient: left, @background @gradient-percent1, @background-emphasis @gradient-percent2, @background @gradient-percent3;
            background: -moz-linear-gradient(@gradient);
            background: -webkit-linear-gradient(@gradient);
            background: -o-linear-gradient(@gradient);
            background: -ms-linear-gradient(@gradient);
            background: linear-gradient(@gradient);
            background-size: 170%;

            @animation-def: loading_shimmer 500s linear 0s infinite;
            -webkit-animation: @animation-def;
            -moz-animation: @animation-def;
            -o-animation: @animation-def;
            animation: @animation-def;

            opacity: 0;
            -webkit-transition: opacity 1s;
            transition: opacity 1s;

            text-align: right;
            font-size: 11px;
            padding: 3px 10px;
            color: darken(@color-grey-background, 30%);
            letter-spacing: 0.4px;
            font-weight: 300;
          }

          .content {
            font-size: 12px;
            font-weight: 400;
            padding: 3px 5px;
            z-index: 100;
          }
        }

        #search-results-list.loading .section-header {
          .loading-gradient {
            opacity: 1;
          }
        }

        #queue-list li, #search-results-list li.song {
          @height: 40px;
          @inner-height: @height - 10px;
          @controls-width: 21px;
          @controls-transition-speed: 0.08s;

          position: relative;
          height: @height;

          &.ui-sortable-helper {
            border-top: solid 1px @color-grey-border;
            -webkit-box-shadow: @site-box-shadow;
            box-shadow: @site-box-shadow;
          }

          &.queued-song:not(.playing) {
            cursor: -webkit-grab;

            &.ui-sortable-helper {
              cursor: -webkit-grabbing;
            }
          }

          &.queued-song:not(.playing):not(.ui-sortable-helper):hover {
            .fg {
              .controls {
                right: 0;
              }
              .faded-edge {
                right: @controls-width;
              }
            }
          }

          .artwork {
            width: @inner-height;
            height: @inner-height;
            background-color: darken(@color-grey-background, 10%);
            background-image: url('/images/unknown_song.png');
            background-size: cover;
            background-position: center;
            display: inline-block;
            border-radius: 3px;
            margin-top: -1px;
          }

          .fg {
            overflow: hidden;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: inline-block;
            margin-left: @height;
            line-height: 18px;
            font-size: 13px;
            white-space: nowrap;

            .faded-edge {
              @box-shadow: inset -30px 0 24px -15px @color-grey-background;
              -webkit-box-shadow: @box-shadow;
              -moz-box-shadow: @box-shadow;
              box-shadow: @box-shadow;
              position: absolute;
              top: 0;
              right: 0;
              width: 100%;
              height: 100%;
              pointer-events: none;
              @transition: right @controls-transition-speed;
              transition: @transition;
              -moz-transition: @transition;
              -webkit-transition: @transition;
            }

            .controls {
              @transition: right @controls-transition-speed;
              transition: @transition;
              -moz-transition: @transition;
              -webkit-transition: @transition;
              position: absolute;
              top: 0;
              right: -@controls-width;
              width: @controls-width;
              height: 100%;
              background: @color-grey-background;

              a {
                display: block;
                height: 50%;
                text-align: center;
                text-decoration: none;
                color: darken(@color-grey-background, 30%);
                font-size: 10px;
                @box-shadow: inset 3px 0 3px -3px @color-grey-border;
                -webkit-box-shadow: @box-shadow;
                box-shadow: @box-shadow;

                border-bottom: solid 1px lighten(@color-grey-border, 8%);

                &:last-child {
                  border-bottom: none;
                }

                &:hover:not(.disabled) {
                  background: darken(@color-grey-background, 2%);
                  color: darken(@color-grey-background, 45%);
                }

                &.disabled {
                  cursor: default;
                  color: darken(@color-grey-background, 10%);
                }
              }
            }

            .title, .artist, .album {
              white-space: nowrap;
            }

            .title {
              display: block;
              font-weight: 300;
              color: darken(@color-grey-background, 60%);
            }

            .artist, .album {
              font-weight: 200;
              color: darken(@color-grey-background, 30%);
            }
          }

          &.playing, &.highlighted {
            background-color: @color-purple;
            @box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.2);
            -webkit-box-shadow: @box-shadow;
            box-shadow: @box-shadow;

            .fg {
              .title, .artist, .album {
                color: white;
              }

              .faded-edge {
                @box-shadow: inset -30px 0 24px -15px @color-purple;
                -webkit-box-shadow: @box-shadow;
                -moz-box-shadow: @box-shadow;
                box-shadow: @box-shadow;
              }
            }
          }
        }

        #search-results-list li.song {
          &:hover, &.selected {
            @background: darken(@color-grey-background, 3%);
            background-color: @background;
            cursor: pointer;

            .faded-edge {
              @box-shadow: inset -30px 0 24px -15px @background;
              -webkit-box-shadow: @box-shadow;
              -moz-box-shadow: @box-shadow;
              box-shadow: @box-shadow;
            }
          }
        }
      }
    }
  }

  .drag-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(255,255,255,0.9);
    @shadow: inset 0 0 40px 1px rgba(0,0,0,0.1);
    -webkit-box-shadow: @shadow;
    box-shadow: @shadow;
    pointer-events: none;
    z-index: 20;

    opacity: 0;
    @fadetime: .1s;
    transition: opacity @fadetime ease-in-out;
    -moz-transition: opacity @fadetime ease-in-out;
    -webkit-transition: opacity @fadetime ease-in-out;

    & > div {
      @height: 100px;
      @width: 200px;

      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      width: @width;
      height: @height;
      margin-top: -(@height/2);
      margin-left: -(@width/2);
      text-align: center;
      vertical-align: center;
      line-height: @height;
      font-size: 20px;
      font-weight: 200;
      color: darken(@color-grey-background, 80%);
      opacity: 0.8;
    }
  }

  &.dragging .drag-overlay {
    opacity: 1;
  }

  @media only screen and (max-width: @single-col-width - 1px) {
    height: 400px;
    margin: 10px;
  }
}

.navbar .playback-placeholder {
  line-height: @navbar-height;
  cursor: default;
  color: #777;
}

.navbar .playback {
  @playback-height: @navbar-height;
  @timeline-height: 18px;
  @timeline-padding: 3px;
  @info-height: @playback-height - @timeline-height;
  @info-padding: @timeline-padding;

  .info {
    @inner-height: @info-height - @info-padding;
    @font-color: darken(@color-grey-background, 60%);

    height: @info-height;
    padding: @info-padding;
    font-size: 12px;
    line-height: @inner-height / 2;
    text-align: left;
    overflow: hidden;
    cursor: default;
    position: relative;

    .artwork {
      @size: @inner-height;
      width: @size;
      height: @size;
      float: left;
      background-size: cover;
      background-position: center;
      margin-right: @info-padding;
      border-radius: 3px;

      &.no-artwork {
        background-image: url('/images/unknown_song.png');
      }
    }

    .title {
      color: @font-color;
      font-weight: bold;
    }

    .artist, .album {
      display: inline-block;
      color: lighten(@font-color, 20%);
    }

    .controls {
      text-align: right;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      padding-right: 5px;
      padding-top: 5px;
      padding-left: 20px;
      background: @nav-background;
      @shadow: -14px 0px 27px 0px @nav-background;
      -webkit-box-shadow: @shadow;
      -moz-box-shadow: @shadow;
      box-shadow: @shadow;

      &:empty {
        display: none;
      }

      a {
        text-decoration: none;
        font-size: 22px;
        color: darken(@color-grey-background, 50%);

        &:hover:not(.disabled) {
          color: darken(@color-grey-background, 70%);
        }

        &.disabled {
          color: darken(@color-grey-background, 30%);
        }
      }

      .btn-skip {
        font-size: 17px;
        position: relative;
        bottom: 3px;
      }
    }
  }

  .timeline {
    @inner-height: @timeline-height - (@timeline-padding * 2);
    height: @inner-height;
    margin: @timeline-padding;
    background-color: darken(@color-grey-background, 12%);
    position: relative;
    border-radius: @site-border-radius;
    cursor: default;

    .left, .right {
      position: absolute;
      font-size: 10px;
      line-height: @inner-height;
      color: darken(@color-grey-background, 60%);
      padding-bottom: 1px;
    }

    .left {
      left: 5px;
    }

    .right {
      right: 4px;
    }

    .played-container {
      background-color: darken(@color-grey-background, 5%);
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 30px;
      @box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.05);
      -webkit-box-shadow: @box-shadow;
      box-shadow: @box-shadow;

      .played {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 0%;
        background-color: @color-purple;
        @box-shadow: inset 0 0 3px 0 rgba(0,0,0,0.1);
        -webkit-box-shadow: @box-shadow;
        box-shadow: @box-shadow;
      }
    }
  }
}

#btn-upload {
  padding: 4px;
  width: 100%;
}

#btn-begin-dj, #btn-end-dj {
  display: none;
}

#songupload {
  visibility: hidden;
  height: 0;
  width: 0;
}

/* Firefox-only rules */
@-moz-document url-prefix() {
  .fixed-column .column-table .column-table-row .column-section {
    &, &:before, &:after {
      @box-sizing: padding-box;
      -webkit-box-sizing: @box-sizing;
      -moz-box-sizing: @box-sizing;
      box-sizing: @box-sizing;
    }
  }
}

@import 'constants.less';

@section-header-bg: darken(@color-grey-background, 5.5%);
@column-border-radius: 5px;
@activity-width: 500px;
@color-activity-border: lighten(@color-grey-border, 12%);

.loading-shimmer-frames () {
  from {
    background-position-x: -100000px;
  }
  to {
    background-position-x: 100000px;
  }
}

@-webkit-keyframes loading_shimmer {.loading-shimmer-frames;}
@-moz-keyframes loading_shimmer {.loading-shimmer-frames;}
@-o-keyframes loading_shimmer {.loading-shimmer-frames;}
@keyframes loading_shimmer {.loading-shimmer-frames;}

.glyphicon-inverted(@fg, @bg) {
  text-align: center;
  color: @fg;
  background-color: @bg;
  padding: 2px;
  width: 17px;
  font-size: 12px;
  border-radius: 3px;
  margin: 0 1px;
}

.room-container {
  margin-left: 0;
  margin-right: 0;
  position: relative;
}

.room-activity {
  @media only screen and (min-width: @single-col-width) {
    position: absolute;
    top: 0;
    bottom: 0;

    &.rightmost {
      right: 0;
    }
  }

  @h1-height: 36px;
  @activities-side-padding: 15px;

  .top-fade, .bottom-fade {
    position: absolute;
    left: 10px + @activities-side-padding;
    right: 10px + @activities-side-padding;
    z-index: 20;
    pointer-events: none;

    display: none;
    @media only screen and (min-width: @single-col-width) {
      display: block;
    }
  }

  .top-fade {
    top: @h1-height;
    height: 15px;

    @box-shadow: inset 0px 20px 10px -15px white;
    -webkit-box-shadow: @box-shadow;
    -moz-box-shadow: @box-shadow;
    box-shadow: @box-shadow;
  }

  .bottom-fade {
    bottom: 0;
    height: 50px;

    @box-shadow: inset 0px -75px 30px -50px white;
    -webkit-box-shadow: @box-shadow;
    -moz-box-shadow: @box-shadow;
    box-shadow: @box-shadow;
  }

  & > h1 {
    border-bottom: solid 1px @color-activity-border;
    text-align: center;
    margin-top: 0;
    padding-bottom: 10px;
    font-size: 22px;
    height: @h1-height;

    @media only screen and (min-width: @single-col-width) {
      position: absolute;
      left: 10px;
      right: 10px;
      top: 0;
    }
  }

  .activity-container {
    margin: 0;
    padding: 0;

    @media only screen and (min-width: @single-col-width) {
      position: absolute;
      top: @h1-height;
      bottom: 0;
      left: 10px;
      right: 10px;
      overflow: auto;
      padding-bottom: 50px;
      padding-top: 4px;
      padding-left: @activities-side-padding;
      padding-right: @activities-side-padding;
    }

    & > li {
      @vertical-padding: 8px;
      margin: @vertical-padding 0;
      list-style: none;
      position: relative;

      h1 {
        color: darken(@color-grey-border, 50%);
        font-size: 12px;
        padding: 0;
        margin: 0;
        display: block;
      }

      .timestamp {
        float: right;
        margin-right: 5px;
        font-size: 10px;
        color: darken(@color-grey-border, 8%);
        text-transform: uppercase;

        &.counter-padding {
          float: left;
          visibility: hidden;

          display: none;
          @media only screen and (min-width: @single-col-width) {
            display: block;
          }
        }
      }

      &.activity-join, &.activity-leave {
        background-color: darken(@color-grey-background, 2%);
        border-radius: 5px;

        h1 {
          font-size: 11px;
          line-height: 20px;
          font-weight: 400;

          @media only screen and (min-width: @single-col-width) {
            text-align: center;
          }
        }

        .timestamp {
          line-height: 20px;
          color: darken(@color-grey-border, 12%);
        }
      }

      &.activity-song {
        @height: 50px;
        @line-height: @height * 0.25;
        padding-left: @height + 10px;
        padding-top: @vertical-padding;
        margin-top: 0;
        border-top: solid 1px @color-activity-border;

        &:after {
          clear: both;
          content: "";
          display: block;
        }

        h1 {
          line-height: @line-height;
          color: lighten(black, 50%);

          .name {
            color: lighten(black, 10%);
          }
        }

        .timestamp {
          top: @vertical-padding;
        }

        .artwork {
          background-image: url('/images/unknown_song.png');
          width: @height;
          height: @height;
          background-size: cover;
          border-radius: 5px;
          margin-right: 10px;
          position: absolute;
          left: 0;
          top: @vertical-padding;
        }

        .song-info {
          font-size: 12px;
          margin-top: 2px;

          &:after {
            clear: both;
            content: "";
            display: block;
          }

          .title {
            font-weight: 500;
            font-size: 14px;
          }

          .artist-album {
            color: lighten(black, 40%);
            display: inline-block;
          }

          .actions {
            display: inline-block;
            float: right;

            & > * {
              color: lighten(black, 70%);
              text-decoration: none;
              margin-left: 12px;

              &.disabled {
                cursor: default;
              }

              &:not(.disabled):hover {
                color: lighten(black, 50%);
              }
            }
          }
        }
      }

      &.activity-song:first-child,
      &:not(.activity-song) + .activity-song {
        border-top: none;
        margin-top: -8px;
      }

      &.activity-song:first-child {
        margin-top: -3px;
      }
    }
  }
}

.room-alert {
  padding: 5px;
  text-align: center;
  border-radius: 0;
  border-width: 0 0 1px 0;
  -moz-box-shadow: @site-box-shadow;
  -webkit-box-shadow: @site-box-shadow;
  box-shadow: @site-box-shadow;
  margin-left: -1000px;
  margin-right: -1000px;
  margin-top: -20px;

  &:empty {
    display: none;
  }
}

.fixed-column {
  padding: 0;
  height: 850px;

  #previews, #dj-list {
    overflow: auto;
    max-height: 550px;

    li {
      .glyphicon-music {
        .glyphicon-inverted(@color-grey-background, darken(@color-grey-background, 60%));
        margin: 0 1px;
        font-size: 11px;
        width: 18px;
      }
    }
  }

  @height_iterations: 1000px;
  @height_difference: 180px;
  @min_height: @height_difference + 100px;
  .loopingClass (@index) when (@index > @min_height) {
    @media only screen and (min-width: @single-col-width) and (max-height: @index) {
      height: @index - @height_difference;
      #previews, #dj-list {
        max-height: @index - @height_difference - 300px;
      }
    }
    .loopingClass(@index - 50px);
  }
  .loopingClass (0) {}
  .loopingClass (@height_iterations);

  @media only screen and (max-width: @single-col-width) {
    min-height: 100px;
    max-height: 400px;
    margin-bottom: 20px;

    #previews {
      max-height: 150px;
    }
  }

  .column-table {
    margin: 0;
    padding: 0;
    display: table;
    width: 100%;
    height: 100%;
    background-color: @color-grey-background;
    border: solid 1px @color-grey-border;
    border-radius: @site-border-radius;
    -webkit-box-shadow: @site-box-shadow;
    box-shadow: @site-box-shadow;

    .column-table-row {
      @section-padding: 5px;
      display: table-row;

      .column-section {
        position: relative;
        padding: @section-padding;
        height: 100%;
        color: darken(@color-grey-background, 60%);
        border-top: solid 1px lighten(@color-grey-border, 3%);

        &, &:before, &:after {
          @box-sizing: content-box;
          -webkit-box-sizing: @box-sizing;
          -moz-box-sizing: @box-sizing;
          box-sizing: @box-sizing;
        }

        &:empty {
          display: none;
        }

        &.section-header {
          background-color: @section-header-bg;
        }

        &::-webkit-scrollbar, ul::-webkit-scrollbar {
          border-left: solid 1px @color-grey-border;
          -webkit-appearance: none;
          background: @color-grey-background;
          margin-bottom: 5px;
        }

        &::-webkit-scrollbar:vertical, ul::-webkit-scrollbar:vertical {
          width: 8px;
        }

        &::-webkit-scrollbar-thumb, ul::-webkit-scrollbar-thumb {
          border-left: solid 1px @color-grey-border;
          background-color: darken(@section-header-bg, 2%);
          z-index: 1;

          &:hover {
            background-color: darken(@section-header-bg, 7%);
          }
        }

        & > h1 {
          color: black;
          margin: -@section-padding;
          font-size: 17px;
          text-align: center;
          background-color: @section-header-bg;
          padding: 8px;
          position: relative;
          min-height: 34px;

          .button {
            position: absolute;
            right: 6px;
            top: 6px;
            padding: 2px 8px;
            color: darken(@color-grey-background, 50%);

            &:hover:not(.disabled) {
              color: darken(@color-grey-background, 70%);
            }

            &.disabled {
              color: darken(@color-grey-background, 30%);
            }
          }

          .error {
            color: darken(red, 10%);
            font-size: 12px;
            font-weight: bold;
            margin-top: 3px;
            display: none;
          }

          .faded-edge {
            @box-shadow: inset 8px 0 8px 0px @section-header-bg;
            -webkit-box-shadow: @box-shadow;
            -moz-box-shadow: @box-shadow;
            box-shadow: @box-shadow;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
          }

          input[type=text] {
            border: none;
            background: none;
            padding: 0;
            padding-right: 10px;
            position: absolute;
            left: 0;
            right: 0;
            width: 100%;
            outline: none;
            font-family: inherit;
            font-weight: inherit;
            text-indent: 10px;
          }
        }

        & > ul  {
          list-style: none;
          margin: -@section-padding;
          padding: 0;

          li {
            @padding: 5px;
            background-color: @color-grey-background;
            border-bottom: solid 1px @color-grey-border;
            padding: @padding;
            position: relative;
            word-break: break-word;
            margin: 0;

            &:last-child {
              margin-bottom: 0;
              border-bottom-width: 0;
            }

            .background {
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0;
              background-color: darken(@color-grey-background, 60%);
              opacity: 0.1;
              z-index: 0;
            }

            &.failed {
              .foreground {
                .status {
                  color: darken(@red, 10%);
                }
              }

              .background {
                width: 100% !important;
                background-color: @red;
              }
            }

            &.added {
              .foreground {
                .status {
                  color: @green;
                }
              }

              .background {
                width: 100% !important;
                background-color: @green;
              }
            }

            .foreground {
              position: relative;
              background: none;
              z-index: 1;
              font-family: @font-family;

              .name {
                font-size: 13px;
                font-weight: 200;
              }

              .status, .error {
                font-size: 9px;
                font-weight: 500;
                text-transform: uppercase;
                letter-spacing: 0.4px;
              }

              .status {
                height: 13px;

                .size {
                  padding-right: 3px;
                }

                .glyphicon {
                  position: absolute;
                  top: 0;
                  right: 0;
                  font-size: 11px;
                }

                .glyphicon-ok-sign {
                  color: @green;
                }

                .glyphicon-exclamation-sign {
                  color: darken(@red, 5%);
                }
              }

              .error {
                color: darken(@red, 10%);
                padding-top: 4px;
              }
            }
          }
        }
      }

      .section-empty {
        font-style: italic;
        color: darken(@color-grey-background, 40%);
        margin-top: @section-padding * 2;

        &.center {
          @height: 160px;

          text-align: center;
          position: absolute;
          top: 50%;
          width: 100%;
          padding: 10px;
          margin: -@section-padding;
          height: @height;
          margin-top: -@height/2;
          font-size: 19px;
          font-style: normal;
          font-weight: 200;
        }
      }

      &.stretch {
        height: 100%;

        .column-section {
          overflow-x: hidden;
          overflow-y: auto;

          & > ul:not(#search-results-list) {
            height: 0;
            margin-top: -@section-padding - 1px;

            li {
              border-top: solid 1px @color-grey-border;
              margin-top: -1px;
            }

            li:last-child {
              border-bottom-width: 1px;
              margin-bottom: -1px;
            }
          }
        }
      }

      &:first-child {
        .column-section, h1 {
          border-top: none;
          border-top-left-radius: @site-border-radius - 1px;
          border-top-right-radius: @site-border-radius - 1px;
        }
      }

      &:last-child {
        .column-section, h1 {
          border-bottom-left-radius: @site-border-radius - 1px;
          border-bottom-right-radius: @site-border-radius - 1px;
        }
      }

      #queue-section {
        #search-results-list {
          background-color: @color-grey-background;
          margin: 0;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
        }

        #search-results-list .section-results-placeholder {
          color: darken(@color-grey-background, 40%);
          margin: 5px;
          font-size: 13px;
        }

        #search-results-list .section-header {
          position: relative;
          min-height: 24px;
          background-color: darken(@color-grey-background, 3%);
          border: solid 1px lighten(@color-grey-border, 10%);
          border-bottom: solid 1px lighten(@color-grey-border, 9%);

          .loading-gradient, .content {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
          }

          .loading-gradient {
            z-index: 99;

            @background: darken(@color-grey-background, 3%);
            @background-emphasis: lighten(@background, 10%);
            @background-emphasis-percent: 80%;

            @gradient-percent1: 50% - (@background-emphasis-percent / 2%);
            @gradient-percent2: 50%;
            @gradient-percent3: 50% + (@background-emphasis-percent / 2%);
            @gradient: left, @background @gradient-percent1, @background-emphasis @gradient-percent2, @background @gradient-percent3;
            background: -moz-linear-gradient(@gradient);
            background: -webkit-linear-gradient(@gradient);
            background: -o-linear-gradient(@gradient);
            background: -ms-linear-gradient(@gradient);
            background: linear-gradient(@gradient);
            background-size: 170%;

            @animation-def: loading_shimmer 500s linear 0s infinite;
            -webkit-animation: @animation-def;
            -moz-animation: @animation-def;
            -o-animation: @animation-def;
            animation: @animation-def;

            opacity: 0;
            -webkit-transition: opacity 1s;
            transition: opacity 1s;

            text-align: right;
            font-size: 11px;
            padding: 3px 10px;
            color: darken(@color-grey-background, 30%);
            letter-spacing: 0.4px;
            font-weight: 300;
          }

          .content {
            font-size: 12px;
            font-weight: 400;
            padding: 3px 5px;
            z-index: 100;
          }
        }

        #search-results-list.loading .section-header {
          .loading-gradient {
            opacity: 1;
          }
        }

        #queue-list li, #search-results-list li.song {
          @height: 40px;
          @inner-height: @height - 10px;
          @controls-width: 21px;
          @controls-transition-speed: 0.08s;

          position: relative;
          height: @height;

          &.ui-sortable-helper {
            border-top: solid 1px @color-grey-border;
            -webkit-box-shadow: @site-box-shadow;
            box-shadow: @site-box-shadow;
          }

          &.queued-song:not(.playing) {
            cursor: -webkit-grab;

            &.ui-sortable-helper {
              cursor: -webkit-grabbing;
            }
          }

          &.queued-song:not(.playing):not(.ui-sortable-helper):hover {
            .fg {
              .controls {
                right: 0;
              }
              .faded-edge {
                right: @controls-width;
              }
            }
          }

          .artwork {
            width: @inner-height;
            height: @inner-height;
            background-color: darken(@color-grey-background, 10%);
            background-image: url('/images/unknown_song.png');
            background-size: cover;
            background-position: center;
            display: inline-block;
            border-radius: 3px;
            margin-top: -1px;
          }

          .fg {
            overflow: hidden;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: inline-block;
            margin-left: @height;
            line-height: 18px;
            font-size: 13px;
            white-space: nowrap;

            .faded-edge {
              @box-shadow: inset -30px 0 24px -15px @color-grey-background;
              -webkit-box-shadow: @box-shadow;
              -moz-box-shadow: @box-shadow;
              box-shadow: @box-shadow;
              position: absolute;
              top: 0;
              right: 0;
              width: 100%;
              height: 100%;
              pointer-events: none;
              @transition: right @controls-transition-speed;
              transition: @transition;
              -moz-transition: @transition;
              -webkit-transition: @transition;
            }

            .controls {
              @transition: right @controls-transition-speed;
              transition: @transition;
              -moz-transition: @transition;
              -webkit-transition: @transition;
              position: absolute;
              top: 0;
              right: -@controls-width;
              width: @controls-width;
              height: 100%;
              background: @color-grey-background;

              a {
                display: block;
                height: 50%;
                text-align: center;
                text-decoration: none;
                color: darken(@color-grey-background, 30%);
                font-size: 10px;
                @box-shadow: inset 3px 0 3px -3px @color-grey-border;
                -webkit-box-shadow: @box-shadow;
                box-shadow: @box-shadow;

                border-bottom: solid 1px lighten(@color-grey-border, 8%);

                &:last-child {
                  border-bottom: none;
                }

                &:hover:not(.disabled) {
                  background: darken(@color-grey-background, 2%);
                  color: darken(@color-grey-background, 45%);
                }

                &.disabled {
                  cursor: default;
                  color: darken(@color-grey-background, 10%);
                }
              }
            }

            .title, .artist, .album {
              white-space: nowrap;
            }

            .title {
              display: block;
              font-weight: 300;
              color: darken(@color-grey-background, 60%);
            }

            .artist, .album {
              font-weight: 200;
              color: darken(@color-grey-background, 30%);
            }
          }

          &.playing, &.highlighted {
            background-color: @color-purple;
            @box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.2);
            -webkit-box-shadow: @box-shadow;
            box-shadow: @box-shadow;

            .fg {
              .title, .artist, .album {
                color: white;
              }

              .faded-edge {
                @box-shadow: inset -30px 0 24px -15px @color-purple;
                -webkit-box-shadow: @box-shadow;
                -moz-box-shadow: @box-shadow;
                box-shadow: @box-shadow;
              }
            }
          }
        }

        #search-results-list li.song {
          &:hover, &.selected {
            @background: darken(@color-grey-background, 3%);
            background-color: @background;
            cursor: pointer;

            .faded-edge {
              @box-shadow: inset -30px 0 24px -15px @background;
              -webkit-box-shadow: @box-shadow;
              -moz-box-shadow: @box-shadow;
              box-shadow: @box-shadow;
            }
          }
        }
      }
    }
  }

  .drag-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(255,255,255,0.9);
    @shadow: inset 0 0 40px 1px rgba(0,0,0,0.1);
    -webkit-box-shadow: @shadow;
    box-shadow: @shadow;
    pointer-events: none;
    z-index: 20;

    opacity: 0;
    @fadetime: .1s;
    transition: opacity @fadetime ease-in-out;
    -moz-transition: opacity @fadetime ease-in-out;
    -webkit-transition: opacity @fadetime ease-in-out;

    & > div {
      @height: 100px;
      @width: 200px;

      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      width: @width;
      height: @height;
      margin-top: -(@height/2);
      margin-left: -(@width/2);
      text-align: center;
      vertical-align: center;
      line-height: @height;
      font-size: 20px;
      font-weight: 200;
      color: darken(@color-grey-background, 80%);
      opacity: 0.8;
    }
  }

  &.dragging .drag-overlay {
    opacity: 1;
  }

  @media only screen and (max-width: @single-col-width - 1px) {
    height: 400px;
    margin: 10px;
  }
}

.navbar .playback-placeholder {
  line-height: @navbar-height;
  cursor: default;
  color: #777;
}

.navbar .playback {
  @playback-height: @navbar-height;
  @timeline-height: 18px;
  @timeline-padding: 3px;
  @info-height: @playback-height - @timeline-height;
  @info-padding: @timeline-padding;

  .info {
    @inner-height: @info-height - @info-padding;
    @font-color: darken(@color-grey-background, 60%);

    height: @info-height;
    padding: @info-padding;
    font-size: 12px;
    line-height: @inner-height / 2;
    text-align: left;
    overflow: hidden;
    cursor: default;
    position: relative;

    .artwork {
      @size: @inner-height;
      width: @size;
      height: @size;
      float: left;
      background-size: cover;
      background-position: center;
      margin-right: @info-padding;
      border-radius: 3px;

      &.no-artwork {
        background-image: url('/images/unknown_song.png');
      }
    }

    .title {
      color: @font-color;
      font-weight: bold;
    }

    .artist, .album {
      display: inline-block;
      color: lighten(@font-color, 20%);
    }

    .controls {
      text-align: right;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      padding-right: 5px;
      padding-top: 5px;
      padding-left: 20px;
      background: @nav-background;
      @shadow: -14px 0px 27px 0px @nav-background;
      -webkit-box-shadow: @shadow;
      -moz-box-shadow: @shadow;
      box-shadow: @shadow;

      &:empty {
        display: none;
      }

      a {
        text-decoration: none;
        font-size: 22px;
        color: darken(@color-grey-background, 50%);

        &:hover:not(.disabled) {
          color: darken(@color-grey-background, 70%);
        }

        &.disabled {
          color: darken(@color-grey-background, 30%);
        }
      }

      .btn-skip {
        font-size: 17px;
        position: relative;
        bottom: 3px;
      }
    }
  }

  .timeline {
    @inner-height: @timeline-height - (@timeline-padding * 2);
    height: @inner-height;
    margin: @timeline-padding;
    background-color: darken(@color-grey-background, 12%);
    position: relative;
    border-radius: @site-border-radius;
    cursor: default;

    .left, .right {
      position: absolute;
      font-size: 10px;
      line-height: @inner-height;
      color: darken(@color-grey-background, 60%);
      padding-bottom: 1px;
    }

    .left {
      left: 5px;
    }

    .right {
      right: 4px;
    }

    .played-container {
      background-color: darken(@color-grey-background, 5%);
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 30px;
      @box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.05);
      -webkit-box-shadow: @box-shadow;
      box-shadow: @box-shadow;

      .played {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 0%;
        background-color: @color-purple;
        @box-shadow: inset 0 0 3px 0 rgba(0,0,0,0.1);
        -webkit-box-shadow: @box-shadow;
        box-shadow: @box-shadow;
      }
    }
  }
}

#btn-upload {
  padding: 4px;
  width: 100%;
}

#btn-begin-dj, #btn-end-dj {
  display: none;
}

#songupload {
  visibility: hidden;
  height: 0;
  width: 0;
}

/* Firefox-only rules */
@-moz-document url-prefix() {
  .fixed-column .column-table .column-table-row .column-section {
    &, &:before, &:after {
      @box-sizing: padding-box;
      -webkit-box-sizing: @box-sizing;
      -moz-box-sizing: @box-sizing;
      box-sizing: @box-sizing;
    }
  }
}


remove unused z-index vars

remove unused z-index vars

// Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.

/* Brackets Variables */

/* All paddings, gutters, etc. should be multiples of this */
@base-padding: 10px;

/* Common font sizes */
@title-font-size: 18px;  // headings such as the editor titlebar
@label-font-size: 14px;  // labels on buttons, menubar, etc.
@menu-item-font-size: 13px; // individual menu items

/* CSS triangle */
@triangle-size: 10px;

/* sidebar */
@sidebar-width: 200px;

/* z-index */
@z-index-cm-dialog-override: 11;
@z-index-cm-dialog: 15;
@z-index-cm-max: @z-index-cm-dialog;

@z-index-brackets-ui: @z-index-cm-max + 1;
@z-index-brackets-selection-triangle: @z-index-brackets-ui;
@z-index-brackets-results-panel: @z-index-brackets-ui;
@z-index-brackets-toolbar: @z-index-brackets-results-panel + 1;
@z-index-brackets-scroller-shadow: @z-index-brackets-selection-triangle + 1;
@z-index-brackets-inline-editor-shadow: @z-index-brackets-ui;

// Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.

/* Brackets Variables */

/* All paddings, gutters, etc. should be multiples of this */
@base-padding: 10px;

/* Common font sizes */
@title-font-size: 18px;  // headings such as the editor titlebar
@label-font-size: 14px;  // labels on buttons, menubar, etc.
@menu-item-font-size: 13px; // individual menu items

/* CSS triangle */
@triangle-size: 10px;

/* sidebar */
@sidebar-width: 200px;

/* z-index */
@z-index-cm-scrollbar: 1;
@z-index-cm-gutter: 10;
@z-index-cm-cursor: 10;
@z-index-cm-dialog-override: 11;
@z-index-cm-dialog: 15;
@z-index-cm-max: @z-index-cm-dialog;

@z-index-jstree-drag: 10000;
@z-index-jstree-marker: 10001;

@z-index-bootstrap-dropdown: 900;
@z-index-bootstrap-popup: 1000;
@z-index-bootstrap-topbar: 10000;
@z-index-bootstrap-modal-backdrop: 10000;
@z-index-bootstrap-modal: 11000;
@z-index-bootstrap-modal-popup: 12000;

@z-index-brackets-ui: @z-index-cm-max + 1;
@z-index-brackets-selection-triangle: @z-index-brackets-ui;
@z-index-brackets-results-panel: @z-index-brackets-ui;
@z-index-brackets-toolbar: @z-index-brackets-results-panel + 1;
@z-index-brackets-scroller-shadow: @z-index-brackets-selection-triangle + 1;
@z-index-brackets-inline-editor-shadow: @z-index-brackets-ui;


add sprites + README

add sprites + README

/* glue: 0.2.9 hash: 530e2b1740 */
.icon-wiki,
.icon-website,
.icon-twitter,
.icon-facebook{background-image:url('../img/sprites.png');background-repeat:no-repeat}
.icon-wiki{background-position:0px 0px;width:32px;height:34px;}
.icon-website{background-position:-32px 0px;width:32px;height:34px;}
.icon-twitter{background-position:-64px 0px;width:32px;height:34px;}
.icon-facebook{background-position:0px -34px;width:32px;height:34px;}

error: pathspec 'sprites.less' did not match any file(s) known to git


OR-1544 fix the typeahead when adding a attendee in the quick form

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/heroandtn3/openpaas-esn.git/'


cleanup modal

cleanup modal

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/aoimedia/uikit.git/'