@charset "UTF-8";
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../assets/fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../assets/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../assets/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../assets/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../assets/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }
  .fa-li.fa-lg {
    left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before,
.fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before,
.fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before,
.fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: ""; }

.fa-twitter-square:before {
  content: ""; }

.fa-facebook-square:before {
  content: ""; }

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before,
.fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

.fa-github-square:before {
  content: ""; }

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before,
.fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before,
.fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before,
.fa-users:before {
  content: ""; }

.fa-chain:before,
.fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before,
.fa-scissors:before {
  content: ""; }

.fa-copy:before,
.fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before,
.fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

.fa-pinterest-square:before {
  content: ""; }

.fa-google-plus-square:before {
  content: ""; }

.fa-google-plus:before {
  content: ""; }

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before,
.fa-sort:before {
  content: ""; }

.fa-sort-down:before,
.fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before,
.fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before,
.fa-undo:before {
  content: ""; }

.fa-legal:before,
.fa-gavel:before {
  content: ""; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before,
.fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before,
.fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before,
.fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before,
.fa-reply:before {
  content: ""; }

.fa-github-alt:before {
  content: ""; }

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before,
.fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before,
.fa-usd:before {
  content: ""; }

.fa-rupee:before,
.fa-inr:before {
  content: ""; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: ""; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: ""; }

.fa-won:before,
.fa-krw:before {
  content: ""; }

.fa-bitcoin:before,
.fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

.fa-youtube-square:before {
  content: ""; }

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

.fa-xing-square:before {
  content: ""; }

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

.fa-stack-overflow:before {
  content: ""; }

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

.fa-tumblr-square:before {
  content: ""; }

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before,
.fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

.fa-stack-exchange:before {
  content: ""; }

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

.fa-vimeo-square:before {
  content: ""; }

.fa-turkish-lira:before,
.fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: ""; }

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

.fa-reddit-square:before {
  content: ""; }

.fa-stumbleupon-circle:before {
  content: ""; }

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

.fa-pied-piper-pp:before {
  content: ""; }

.fa-pied-piper-alt:before {
  content: ""; }

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

.fa-behance-square:before {
  content: ""; }

.fa-steam:before {
  content: ""; }

.fa-steam-square:before {
  content: ""; }

.fa-recycle:before {
  content: ""; }

.fa-automobile:before,
.fa-car:before {
  content: ""; }

.fa-cab:before,
.fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: ""; }

.fa-ge:before,
.fa-empire:before {
  content: ""; }

.fa-git-square:before {
  content: ""; }

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: ""; }

.fa-tencent-weibo:before {
  content: ""; }

.fa-qq:before {
  content: ""; }

.fa-wechat:before,
.fa-weixin:before {
  content: ""; }

.fa-send:before,
.fa-paper-plane:before {
  content: ""; }

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

.fa-google-wallet:before {
  content: ""; }

.fa-cc-visa:before {
  content: ""; }

.fa-cc-mastercard:before {
  content: ""; }

.fa-cc-discover:before {
  content: ""; }

.fa-cc-amex:before {
  content: ""; }

.fa-cc-paypal:before {
  content: ""; }

.fa-cc-stripe:before {
  content: ""; }

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

.fa-lastfm-square:before {
  content: ""; }

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before,
.fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

.fa-pinterest-p:before {
  content: ""; }

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before,
.fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before,
.fa-y-combinator:before {
  content: ""; }

.fa-optin-monster:before {
  content: ""; }

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: ""; }

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before,
.fa-battery-half:before {
  content: ""; }

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before,
.fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

.fa-cc-jcb:before {
  content: ""; }

.fa-cc-diners-club:before {
  content: ""; }

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

.fa-creative-commons:before {
  content: ""; }

.fa-gg:before {
  content: ""; }

.fa-gg-circle:before {
  content: ""; }

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

.fa-odnoklassniki-square:before {
  content: ""; }

.fa-get-pocket:before {
  content: ""; }

.fa-wikipedia-w:before {
  content: ""; }

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

.fa-internet-explorer:before {
  content: ""; }

.fa-tv:before,
.fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

.fa-500px:before {
  content: ""; }

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

.fa-black-tie:before {
  content: ""; }

.fa-fonticons:before {
  content: ""; }

.fa-reddit-alien:before {
  content: ""; }

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

.fa-fort-awesome:before {
  content: ""; }

.fa-usb:before {
  content: ""; }

.fa-product-hunt:before {
  content: ""; }

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

.fa-bluetooth-b:before {
  content: ""; }

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

.fa-glide-g:before {
  content: ""; }

.fa-signing:before,
.fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

.fa-viadeo-square:before {
  content: ""; }

.fa-snapchat:before {
  content: ""; }

.fa-snapchat-ghost:before {
  content: ""; }

.fa-snapchat-square:before {
  content: ""; }

.fa-pied-piper:before {
  content: ""; }

.fa-first-order:before {
  content: ""; }

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: ""; }

.fa-fa:before,
.fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before,
.fa-address-card:before {
  content: ""; }

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before,
.fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

.fa-free-code-camp:before {
  content: ""; }

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before,
.fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/** 
 * General animations
 **/
@keyframes shrink_from_right {
  from {
    width: 100%; }
  to {
    width: 0%; } }

@keyframes spin {
  from {
    transform: rotate(0); }
  to {
    transform: rotate(360deg); } }

@keyframes pulse {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes slideloader {
  0% {
    left: 0%;
    right: 100%; }
  50% {
    left: 0%;
    right: 0%; }
  100% {
    left: 100%;
    right: 0%; } }

/**
 * Grid layout
 * Produces most album/playlist/artist grids
 **/
/** 
 * Responsive rules
 * Creates @media wrappers
 **/
body,
html {
  background: #F5F5F5;
  color: #000000;
  font-family: "Archivo Narrow", Helvetica, Arial, sans-serif;
  font-size: 14px; }

body {
  overflow-y: scroll;
  overflow-x: hidden; }
  body.modal-open {
    overflow-y: hidden; }
  @media (max-width: 800px) {
    body.context-menu-open {
      overflow-y: hidden; } }

main,
footer {
  margin-left: 220px; }
  @media (max-height: 650px) {
    main,
    footer {
      padding-bottom: 60px; } }
  @media (max-width: 800px) {
    main,
    footer {
      margin-left: 0; } }

main {
  position: relative;
  min-height: 100vh; }
  main a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted transparent;
    cursor: pointer; }
    main a:hover {
      border-color: #000000; }
  main p {
    font-size: 18px;
    line-height: 1.5em;
    white-space: pre-wrap; }
  main section.grid-wrapper,
  main section.text-wrapper {
    padding: 40px; }
  main section.list-wrapper {
    padding: 20px 0; }
  @media (max-width: 800px) {
    main section.grid-wrapper,
    main section.text-wrapper {
      padding: 20px; }
    main section.list-wrapper {
      padding: 10px 0; } }
  main pre {
    padding: 20px;
    background: #EEEEEE;
    white-space: pre-wrap;
    word-wrap: break-word; }

h1 {
  font-weight: 500;
  font-size: 40px; }

h2 {
  font-weight: 500;
  font-size: 30px; }

h3 {
  font-weight: 100;
  font-style: italic;
  font-size: 20px; }
  h3.bottom-padding {
    padding-bottom: 30px; }

h4 {
  font-size: 14px;
  margin-bottom: 14px;
  text-transform: uppercase; }
  h4.underline {
    padding-bottom: 4px;
    border-bottom: 1px solid #000000; }
  h4:not(:first-child) {
    padding-top: 40px; }

.placeholder {
  display: inline-block;
  height: 1.2em;
  width: 100px;
  max-width: 100%;
  background: rgba(150, 150, 150, 0.15);
  pointer-events: none !important; }

h1 .placeholder {
  width: 50%; }

h2 .placeholder,
h3 .placeholder,
h4 .placeholder {
  max-width: 50%;
  width: 150px; }

button.placeholder {
  border-color: transparent;
  height: auto; }

.list-wrapper .placeholder {
  display: block;
  width: auto;
  margin: 25px 40px;
  height: 10px; }
  @media (max-width: 800px) {
    .list-wrapper .placeholder {
      margin-left: 20px;
      margin-right: 20px; } }

.grid-wrapper .placeholder {
  height: auto; }
  .grid-wrapper .placeholder:after {
    content: ' ';
    display: block;
    padding-bottom: 100%; }

.related-artists .list-wrapper .placeholder {
  position: relative;
  margin: 40px 20px 50px 65px; }
  .related-artists .list-wrapper .placeholder:after {
    content: ' ';
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(150, 150, 150, 0.15);
    position: absolute;
    top: -20px;
    left: -65px; }

.no-top-padding {
  padding-top: 0 !important; }

.no-bottom-padding {
  padding-bottom: 0 !important; }

.no-right-padding {
  padding-right: 0 !important; }

.no-left-padding {
  padding-left: 0 !important; }

.no-top-margin {
  margin-top: 0 !important; }

.no-bottom-margin {
  margin-bottom: 0 !important; }

.top-padding {
  padding-top: 20px; }

.bottom-padding {
  padding-bottom: 20px; }

.right-padding {
  padding-right: 40px; }

.left-padding {
  padding-left: 40px; }

.col {
  min-height: 1px;
  float: left; }
  .col.w5 {
    width: 5%; }
  .col.w10 {
    width: 10%; }
  .col.w15 {
    width: 15%; }
  .col.w20 {
    width: 20%; }
  .col.w25 {
    width: 25%; }
  .col.w30 {
    width: 30%; }
  .col.w33 {
    width: 33.3334%; }
  .col.w35 {
    width: 35%; }
  .col.w40 {
    width: 40%; }
  .col.w45 {
    width: 45%; }
  .col.w50 {
    width: 50%; }
  .col.w55 {
    width: 55%; }
  .col.w60 {
    width: 60%; }
  .col.w65 {
    width: 65%; }
  .col.w66 {
    width: 66.6667%; }
  .col.w70 {
    width: 70%; }
  .col.w75 {
    width: 75%; }
  .col.w80 {
    width: 80%; }
  .col.w85 {
    width: 85%; }
  .col.w90 {
    width: 90%; }
  .col.w95 {
    width: 95%; }
  .col.w100 {
    width: 100%; }

.pull-left {
  float: left; }

.pull-right {
  float: right; }

.cf::after {
  content: '';
  clear: both;
  display: block; }

.one-liner {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.grey-text {
  color: #AAAAAA !important; }

.red-text {
  color: #cf2d2d !important; }

.green-text {
  color: #47af2a !important; }

.orange-text {
  color: #f16f19 !important; }

.dark-text {
  color: #333333 !important; }

.centred-text {
  text-align: center; }

footer {
  display: block;
  color: #DDDDDD;
  padding-top: 50px;
  padding-bottom: 50px;
  text-align: center; }

.details {
  list-style-type: none;
  color: #AAAAAA; }
  .details li {
    display: inline-block; }
    .details li:not(:first-child) {
      padding-left: 14px; }
      .details li:not(:first-child):before {
        display: inline-block;
        content: '\2022';
        margin-left: -8px;
        padding-right: 6px; }

.flag {
  font-size: 12px;
  display: inline-block;
  padding: 2px 4px;
  border-radius: 2px;
  background: #DDDDDD;
  color: #333333; }
  .flag.blue {
    background: #32b5f2;
    color: #FFFFFF; }

@media (max-width: 800px) {
  .right-padding {
    padding-right: 20px; }
  .left-padding {
    padding-left: 20px; }
  h1 {
    font-size: 30px; }
  h2 {
    font-size: 24px; }
  h3 {
    font-size: 18px; } }

* {
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0; }

button,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="email"],
input[type="date"] {
  padding: 10px 14px;
  background: #FFFFFF;
  color: #000000;
  font-family: "Archivo Narrow", Helvetica, Arial, sans-serif;
  font-size: 14px; }

.button-wrapper {
  padding: 10px 0;
  margin-top: -1px; }
  .button-wrapper.large {
    padding: 16px 0; }

.text-button {
  cursor: pointer; }
  .text-button.destructive {
    color: #cf2d2d; }

.button,
button,
input[type="button"],
input[type="submit"] {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  padding: 6px 20px;
  min-width: 160px;
  border: 0;
  margin: 0 20px 10px 0;
  text-align: center;
  border: 2px solid #AAAAAA;
  color: #AAAAAA;
  background: transparent;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  box-sizing: border-box; }
  .button.wide,
  button.wide,
  input[type="button"].wide,
  input[type="submit"].wide {
    min-width: 200px; }
  .button:hover,
  button:hover,
  input[type="button"]:hover,
  input[type="submit"]:hover {
    cursor: pointer;
    border-color: #919191; }
  .button:active,
  button:active,
  input[type="button"]:active,
  input[type="submit"]:active {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    background: #AAAAAA;
    color: #FFFFFF;
    border-color: #AAAAAA; }
  .button.primary,
  button.primary,
  input[type="button"].primary,
  input[type="submit"].primary {
    border-color: #08d58f;
    color: #08d58f; }
    .button.primary:hover,
    button.primary:hover,
    input[type="button"].primary:hover,
    input[type="submit"].primary:hover {
      color: #06a46e;
      border-color: #06a46e; }
    .button.primary:active,
    button.primary:active,
    input[type="button"].primary:active,
    input[type="submit"].primary:active {
      color: #FFFFFF;
      background: #08d58f;
      border-color: #08d58f; }
  .button.secondary,
  button.secondary,
  input[type="button"].secondary,
  input[type="submit"].secondary {
    color: #000000;
    border-color: #000000; }
    .button.secondary:hover,
    button.secondary:hover,
    input[type="button"].secondary:hover,
    input[type="submit"].secondary:hover {
      color: #666666;
      border-color: #666666; }
    .button.secondary:active,
    button.secondary:active,
    input[type="button"].secondary:active,
    input[type="submit"].secondary:active {
      color: #FFFFFF;
      background: #000000;
      border-color: #000000; }
  .button.confirming, .button.destructive,
  button.confirming,
  button.destructive,
  input[type="button"].confirming,
  input[type="button"].destructive,
  input[type="submit"].confirming,
  input[type="submit"].destructive {
    border-color: #cf2d2d;
    color: #cf2d2d; }
    .button.confirming:hover, .button.destructive:hover,
    button.confirming:hover,
    button.destructive:hover,
    input[type="button"].confirming:hover,
    input[type="button"].destructive:hover,
    input[type="submit"].confirming:hover,
    input[type="submit"].destructive:hover {
      color: #b62828;
      border-color: #b62828; }
    .button.confirming:active, .button.destructive:active,
    button.confirming:active,
    button.destructive:active,
    input[type="button"].confirming:active,
    input[type="button"].destructive:active,
    input[type="submit"].confirming:active,
    input[type="submit"].destructive:active {
      color: #FFFFFF;
      background: #cf2d2d;
      border-color: #cf2d2d; }
  .button.timing-out,
  button.timing-out,
  input[type="button"].timing-out,
  input[type="submit"].timing-out {
    position: relative; }
    .button.timing-out::before,
    button.timing-out::before,
    input[type="button"].timing-out::before,
    input[type="submit"].timing-out::before {
      animation-name: shrink_from_right;
      animation-duration: 2s;
      animation-timing-function: linear;
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 3px;
      background: #cf2d2d; }
  .button.white,
  button.white,
  input[type="button"].white,
  input[type="submit"].white {
    color: #FFFFFF;
    border-color: #FFFFFF; }
    .button.white:hover,
    button.white:hover,
    input[type="button"].white:hover,
    input[type="submit"].white:hover {
      color: rgba(255, 255, 255, 0.8);
      border-color: rgba(255, 255, 255, 0.8); }
    .button.white:active,
    button.white:active,
    input[type="button"].white:active,
    input[type="submit"].white:active {
      color: #000000;
      background: #FFFFFF;
      border-color: #FFFFFF; }
  .button.discrete,
  button.discrete,
  input[type="button"].discrete,
  input[type="submit"].discrete {
    border: transparent; }
    .button.discrete[disabled], .button.discrete[disabled="disabled"],
    button.discrete[disabled],
    button.discrete[disabled="disabled"],
    input[type="button"].discrete[disabled],
    input[type="button"].discrete[disabled="disabled"],
    input[type="submit"].discrete[disabled],
    input[type="submit"].discrete[disabled="disabled"] {
      border-color: #DDDDDD !important; }
  .button.context-menu-trigger,
  button.context-menu-trigger,
  input[type="button"].context-menu-trigger,
  input[type="submit"].context-menu-trigger {
    border-color: transparent;
    padding: 6px;
    margin-bottom: 8px;
    font-size: 20px;
    min-width: 0;
    line-height: 20px;
    color: #000000;
    vertical-align: bottom; }
    .button.context-menu-trigger .fa,
    button.context-menu-trigger .fa,
    input[type="button"].context-menu-trigger .fa,
    input[type="submit"].context-menu-trigger .fa {
      pointer-events: none; }
    .button.context-menu-trigger:hover,
    button.context-menu-trigger:hover,
    input[type="button"].context-menu-trigger:hover,
    input[type="submit"].context-menu-trigger:hover {
      border-color: transparent;
      background: rgba(0, 0, 0, 0.1); }
    .button.context-menu-trigger:active,
    button.context-menu-trigger:active,
    input[type="button"].context-menu-trigger:active,
    input[type="submit"].context-menu-trigger:active {
      color: #FFFFFF;
      background: #000000; }
    .button.context-menu-trigger.white,
    button.context-menu-trigger.white,
    input[type="button"].context-menu-trigger.white,
    input[type="submit"].context-menu-trigger.white {
      color: #FFFFFF; }
      .button.context-menu-trigger.white:hover,
      button.context-menu-trigger.white:hover,
      input[type="button"].context-menu-trigger.white:hover,
      input[type="submit"].context-menu-trigger.white:hover {
        border-color: transparent;
        background: rgba(255, 255, 255, 0.1); }
      .button.context-menu-trigger.white:active,
      button.context-menu-trigger.white:active,
      input[type="button"].context-menu-trigger.white:active,
      input[type="submit"].context-menu-trigger.white:active {
        color: #000000;
        background: #FFFFFF; }
  .button[disabled], .button[disabled="disabled"],
  button[disabled],
  button[disabled="disabled"],
  input[type="button"][disabled],
  input[type="button"][disabled="disabled"],
  input[type="submit"][disabled],
  input[type="submit"][disabled="disabled"] {
    opacity: 0.5;
    cursor: not-allowed !important; }
    .button[disabled], .button[disabled]:hover, .button[disabled]:active, .button[disabled="disabled"], .button[disabled="disabled"]:hover, .button[disabled="disabled"]:active,
    button[disabled],
    button[disabled]:hover,
    button[disabled]:active,
    button[disabled="disabled"],
    button[disabled="disabled"]:hover,
    button[disabled="disabled"]:active,
    input[type="button"][disabled],
    input[type="button"][disabled]:hover,
    input[type="button"][disabled]:active,
    input[type="button"][disabled="disabled"],
    input[type="button"][disabled="disabled"]:hover,
    input[type="button"][disabled="disabled"]:active,
    input[type="submit"][disabled],
    input[type="submit"][disabled]:hover,
    input[type="submit"][disabled]:active,
    input[type="submit"][disabled="disabled"],
    input[type="submit"][disabled="disabled"]:hover,
    input[type="submit"][disabled="disabled"]:active {
      color: #AAAAAA;
      border-color: #AAAAAA;
      background: transparent; }
  @media (max-width: 800px) {
    .button,
    button,
    input[type="button"],
    input[type="submit"] {
      min-width: 120px;
      margin-right: 10px; } }
  @media (max-width: 350px) {
    .button,
    button,
    input[type="button"],
    input[type="submit"] {
      min-width: 0; } }

.actions .button:last-of-type,
.actions button:last-of-type {
  margin-right: 0; }

.field {
  display: block;
  padding-bottom: 8px; }
  .field::after {
    content: '';
    clear: both;
    display: block; }
  .field .name {
    display: block;
    padding-top: 10px;
    width: 15%;
    float: left; }
  .field label {
    display: inline-block; }
  .field .description {
    display: inline-block;
    padding: 10px 14px; }
  .field .input {
    width: 85%;
    float: left; }
    .field .input input,
    .field .input select,
    .field .input textarea {
      width: 100%; }
    .field .input .text {
      display: block;
      padding: 10px 14px 10px 0; }
  .field.radio input, .field.checkbox input {
    display: none; }
  .field.radio .input, .field.checkbox .input {
    padding-top: 4px; }
  .field.radio .label, .field.checkbox .label {
    display: inline-block;
    float: none;
    width: auto;
    padding: 5px 30px 5px 30px;
    position: relative;
    cursor: pointer; }
  .field.radio input + .label:before {
    content: ' ';
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #000000;
    position: absolute;
    top: 4px;
    left: 0; }
  .field.radio input:checked + .label:before {
    background: #000000;
    box-shadow: inset 0px 0px 0px 4px #f5f5f5; }
  .field.radio.white input + .label:before {
    border-color: #FFFFFF; }
  .field.radio.white input:checked + .label:before {
    background: #FFFFFF;
    box-shadow: inset 0px 0px 0px 4px #222222; }
  .field.checkbox input + .label:before {
    font-family: FontAwesome;
    font-size: 8px;
    content: ' ';
    color: #000000;
    display: inline-block;
    width: 11px;
    height: 11px;
    padding: 3px 0 0 3px;
    border: 2px solid #000000;
    position: absolute;
    top: 5px;
    left: 0; }
  .field.checkbox input:checked + .label:before {
    content: '\f00c'; }
  .field.checkbox.white input + .label:before {
    border-color: #FFFFFF; }
  .field.checkbox.white input:checked + .label:before {
    color: #FFFFFF; }
  .field .error {
    color: #cf2d2d;
    display: inline-block; }

@media (max-width: 800px) {
  .field .name {
    float: none;
    width: auto;
    padding: 0 0 4px 0; }
  .field .input {
    float: none;
    width: auto; }
    .field .input .text {
      padding: 0; } }

#context-menu {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99; }
  #context-menu .liner {
    background: #333333;
    color: #FFFFFF;
    width: 160px; }
    #context-menu .liner.right-align {
      margin-left: -160px; }
    #context-menu .liner.right-align-submenu .submenu {
      left: auto !important;
      right: 160px !important; }
    #context-menu .liner.bottom-align-submenu .submenu {
      top: auto !important;
      bottom: 0 !important; }
    #context-menu .liner .title {
      display: block;
      padding: 8px 12px;
      font-weight: bold;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
      text-decoration: none;
      background: #111111; }
      #context-menu .liner .title .background {
        -webkit-filter: blur(5px);
        filter: blur(5px);
        background-size: cover;
        background-position: 50% 20%;
        opacity: 0.65;
        position: absolute;
        top: -10px;
        left: -10px;
        bottom: -10px;
        right: -10px;
        z-index: 1; }
        #context-menu .liner .title .background.generic {
          opacity: 0.9;
          background: #32b5f2;
          background: -moz-linear-gradient(45deg, #32b5f2 0%, #32b5f2 18%, #0576a6 100%);
          background: -webkit-gradient(left bottom, right top, color-stop(0%, #32b5f2), color-stop(18%, #32b5f2), color-stop(100%, #0576a6));
          background: -webkit-linear-gradient(45deg, #32b5f2 0%, #32b5f2 18%, #0576a6 100%);
          background: -o-linear-gradient(45deg, #32b5f2 0%, #32b5f2 18%, #0576a6 100%);
          background: -ms-linear-gradient(45deg, #32b5f2 0%, #32b5f2 18%, #0576a6 100%);
          background: linear-gradient(45deg, #32b5f2 0%, #32b5f2 18%, #0576a6 100%);
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#32b5f2', endColorstr='#0576a6', GradientType=1 ); }
      #context-menu .liner .title .text {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        position: relative;
        z-index: 2;
        color: #FFFFFF; }
      #context-menu .liner .title .type {
        position: relative;
        z-index: 2;
        color: #FFFFFF;
        opacity: 0.5;
        font-weight: 200;
        text-transform: capitalize; }
      .notouch #context-menu .liner .title:hover .background {
        opacity: 0.7; }
    #context-menu .liner .menu-item-wrapper {
      display: block;
      overflow-x: hidden; }
      #context-menu .liner .menu-item-wrapper .menu-item {
        cursor: pointer;
        display: block;
        padding: 12px 14px;
        box-sizing: border-box; }
        .notouch #context-menu .liner .menu-item-wrapper .menu-item:hover {
          background: #404040; }
      #context-menu .liner .menu-item-wrapper .icon {
        display: none; }
      #context-menu .liner .menu-item-wrapper .submenu-icon {
        float: right;
        padding-top: 4px; }
      #context-menu .liner .menu-item-wrapper .fa {
        font-size: 10px; }
      #context-menu .liner .menu-item-wrapper .submenu {
        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 100%;
        width: 0;
        min-height: 180px;
        overflow-y: scroll;
        background: #595959;
        z-index: 3; }
        #context-menu .liner .menu-item-wrapper .submenu.expanded {
          width: 100%;
          left: 0; }
        #context-menu .liner .menu-item-wrapper .submenu .menu-item {
          width: 100%; }
          #context-menu .liner .menu-item-wrapper .submenu .menu-item.close-submenu {
            background: #333333;
            border-top: 0;
            color: #AAAAAA; }
          .notouch #context-menu .liner .menu-item-wrapper .submenu .menu-item:hover {
            background: #595959; }
      #context-menu .liner .menu-item-wrapper:not(:first-child) .menu-item {
        border-top: 1px solid #474747; }
    #context-menu .liner > span {
      display: block; }
      #context-menu .liner > span button,
      #context-menu .liner > span .button,
      #context-menu .liner > span .dropdown-field {
        text-decoration: none;
        display: block;
        border: 0;
        margin: 0;
        min-width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        font-size: inherit;
        text-align: left;
        text-transform: none;
        font-weight: 300;
        color: inherit; }
        #context-menu .liner > span button:not(:first-child),
        #context-menu .liner > span .button:not(:first-child),
        #context-menu .liner > span .dropdown-field:not(:first-child) {
          border-top: 1px solid #474747; }
        #context-menu .liner > span button .fa,
        #context-menu .liner > span .button .fa,
        #context-menu .liner > span .dropdown-field .fa {
          display: none; }
        .notouch #context-menu .liner > span button:hover, .notouch
        #context-menu .liner > span .button:hover, .notouch
        #context-menu .liner > span .dropdown-field:hover {
          background: #404040; }
      #context-menu .liner > span button,
      #context-menu .liner > span .button {
        padding: 16px 20px;
        min-width: 100% !important;
        max-width: 100% !important; }
      #context-menu .liner > span .dropdown-field {
        padding: 0; }
        #context-menu .liner > span .dropdown-field .label {
          padding: 16px 20px; }
        #context-menu .liner > span .dropdown-field .options {
          display: block;
          position: static;
          background: #262626; }
          #context-menu .liner > span .dropdown-field .options .option {
            padding: 12px 20px 12px 50px;
            border-top: 1px solid #333333; }
            #context-menu .liner > span .dropdown-field .options .option .fa {
              display: inline-block;
              left: 25px;
              top: 14px; }
  @media (min-width: 800px) {
    #context-menu .liner .title {
      display: none; } }
  @media (max-width: 800px) {
    #context-menu {
      top: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      left: 0 !important;
      margin: 0 !important;
      overflow-y: scroll; }
      #context-menu .background {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(10, 10, 10, 0.95);
        z-index: 1; }
      #context-menu .liner {
        width: 250px;
        margin: 30px auto;
        max-width: 90vw;
        position: relative;
        z-index: 2; }
        #context-menu .liner .title {
          padding: 16px 20px;
          box-sizing: border-box; }
        #context-menu .liner .menu-item-wrapper .menu-item {
          padding: 16px 20px;
          box-sizing: border-box; } }

.list .context-menu-trigger {
  display: none; }

.list.track-list.edit-mode .context-menu-trigger {
  display: block;
  position: fixed;
  bottom: 50px;
  right: 5px;
  width: 50px;
  height: 50px;
  overflow: hidden;
  z-index: 97;
  border-radius: 50%;
  background: #32b5f2;
  color: #FFFFFF; }
  .list.track-list.edit-mode .context-menu-trigger:focus, .list.track-list.edit-mode .context-menu-trigger:active {
    background: #0e9fe3; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 99;
  background: rgba(10, 10, 10, 0.95);
  overflow-y: scroll; }
  .modal .close-modal {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0.5;
    cursor: pointer;
    padding: 20px;
    z-index: 99; }
    .modal .close-modal img {
      width: 30px; }
    .modal .close-modal:hover {
      opacity: 1; }
  .modal .content {
    padding: 100px 25%;
    margin: 0 auto;
    width: 50%;
    color: #FFFFFF; }
    .modal .content h4 {
      padding-bottom: 40px; }
    .modal .content form .field {
      padding-bottom: 20px; }
      .modal .content form .field input[type="text"] {
        background: transparent;
        font-size: 24px;
        border-bottom: 2px solid #FFFFFF;
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        color: #FFFFFF; }
        .modal .content form .field input[type="text"]:focus, .modal .content form .field input[type="text"]:active {
          border-color: #08d58f; }
      .modal .content form .field .label {
        font-size: 16px; }
    .modal .content form button[type="submit"] {
      margin-top: 50px; }
    .modal .content .list {
      padding-top: 30px; }
      .modal .content .list::after {
        content: '';
        clear: both;
        display: block; }
      .modal .content .list .list-item {
        box-sizing: border-box;
        display: block;
        padding: 16px 18px;
        border-bottom: 1px solid #AAAAAA;
        border-top: 0;
        position: relative; }
        .modal .content .list .list-item:nth-child(1) {
          border-top: 1px solid #AAAAAA; }
        .modal .content .list .list-item .source {
          position: absolute;
          top: 18px;
          left: 10px; }
        .modal .content .list .list-item:hover {
          cursor: pointer;
          background: rgba(255, 255, 255, 0.1); }
      .modal .content .list.playlists {
        padding-top: 0; }
        .modal .content .list.playlists .list-item {
          padding-left: 30px; }
      .modal .content .list.small .list-item {
        width: 49%;
        float: left; }
        .modal .content .list.small .list-item:nth-child(2) {
          border-top: 1px solid #AAAAAA; }
        .modal .content .list.small .list-item:nth-child(2n) {
          margin-left: 2%; }
  .modal.image_zoom .content {
    text-align: center;
    padding: 5vh 5%;
    width: 90%; }
    .modal.image_zoom .content img {
      max-height: 90vh;
      max-width: 100%; }
  .modal.edit_radio form .field {
    position: relative;
    margin-top: 10px; }
    .modal.edit_radio form .field input[type="text"] {
      font-size: 14px;
      padding: 16px 18px; }
  .modal.edit_radio button.add-uri,
  .modal.edit_radio button.remove-uri {
    position: absolute;
    top: 3px;
    right: 0;
    padding: 14px;
    margin: 0;
    min-width: 0;
    color: #FFFFFF; }
  .modal.kiosk_mode {
    background: #000000;
    overflow: hidden; }
    .modal.kiosk_mode .content {
      padding: 5%;
      width: 90%;
      height: 90%;
      text-align: center; }
      .modal.kiosk_mode .content .background {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0.2;
        max-width: none; }
        .modal.kiosk_mode .content .background .image {
          -webkit-filter: blur(10px);
          filter: blur(10px);
          width: 110vw;
          padding-bottom: 110vh; }
      .modal.kiosk_mode .content .foreground {
        width: 70vw;
        margin: 0 auto;
        max-width: 70vh;
        max-height: 70vh;
        z-index: 2; }
      .modal.kiosk_mode .content .current-track {
        padding-top: 50px;
        font-size: 30px; }
  .modal.receive_authorization .user-view {
    padding-top: 40px; }
    .modal.receive_authorization .user-view .thumbnail {
      max-width: 150px; }
  .modal .actions {
    padding-top: 50px;
    text-align: center; }
    .modal .actions .button,
    .modal .actions button {
      margin: 0 3px; }
  @media (max-width: 800px) {
    .modal .content {
      padding: 100px 10%;
      width: 80%; }
      .modal .content .list .list-item {
        float: none !important;
        width: auto;
        margin-left: 0 !important;
        border-top: 0;
        width: auto !important; }
        .modal .content .list .list-item:nth-child(1) {
          border-top: 1px solid #AAAAAA; } }

.dragging * {
  cursor: grabbing !important;
  cursor: -moz-grabbing !important;
  cursor: -webkit-grabbing !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.dragger {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 97;
  background: #32b5f2;
  color: #FFFFFF;
  padding: 12px 20px;
  pointer-events: none; }

.dropzones {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 98;
  background: rgba(25, 25, 25, 0.9); }
  .dropzones .dropzone {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    margin: 15px;
    padding: 40px 20px;
    background: #333333;
    color: #FFFFFF;
    font-size: 18px;
    text-align: center; }
    .dropzones .dropzone * {
      pointer-events: none; }
    .dropzones .dropzone .icon {
      display: block;
      margin: 0 auto 10px;
      width: 32px; }
    .dropzones .dropzone.hover {
      background: #08d58f; }

.thumbnail {
  width: 100%;
  max-width: 300px;
  overflow: hidden;
  position: relative; }
  .thumbnail .image {
    width: 100%;
    padding-bottom: 100%;
    position: relative;
    background-repeat: no-repeat;
    background-color: #DDDDDD;
    background-position: 50% 50%;
    background-size: cover; }
  .thumbnail .zoom {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: none;
    position: absolute;
    bottom: 5px;
    right: 5px;
    z-index: 1;
    padding: 6px;
    border-radius: 100%;
    background: rgba(0, 0, 0, 0.4);
    font-size: 10px;
    cursor: pointer;
    color: #FFFFFF; }
    .thumbnail .zoom:hover {
      background: #000000; }
  .thumbnail.small {
    max-width: 50px; }
  .thumbnail.circle .image {
    border-radius: 50%; }
  .thumbnail.circle .zoom {
    bottom: 0;
    right: 0; }
  .thumbnail:hover .zoom {
    display: block; }

.parallax {
  height: 50vh;
  width: 100%;
  overflow: hidden;
  background: #111111; }
  .parallax canvas {
    width: 100%;
    height: 100%;
    opacity: 0; }
    .parallax canvas.loaded {
      opacity: 0.4; }

.tiles {
  padding-bottom: 60px; }
  .tiles .tile {
    color: #333333;
    text-align: center;
    position: relative;
    z-index: 1;
    float: left;
    overflow: hidden; }
    .tiles .tile .text {
      display: block;
      position: absolute;
      top: 50%;
      left: 10%;
      right: 10%;
      vertical-align: top;
      margin-top: -12px;
      font-size: 16px;
      z-index: 2; }
      .tiles .tile .text .fa {
        display: block;
        position: absolute;
        top: 50%;
        left: 10%;
        right: 10%;
        text-align: center;
        margin-top: -27px;
        font-size: 60px;
        z-index: -1;
        color: #EEEEEE; }
    .tiles .tile:before {
      content: '';
      display: block;
      width: 100%;
      padding-bottom: 100%;
      background: #DDDDDD;
      z-index: -2; }
    .tiles .tile.thumbnail-wrapper:before {
      display: none; }
  @media (min-width: 800px) {
    .tiles .tile {
      width: 48%;
      box-sizing: border-box;
      margin: 0 2% 3%; }
      .tiles .tile:nth-child(2n-2) {
        margin-right: 0; }
        .tiles .tile:nth-child(2n-2)::after {
          content: '';
          clear: both;
          display: block; }
      .tiles .tile:nth-child(2n-1) {
        margin-left: 0; } }
  @media (max-width: 800px) {
    .tiles {
      padding-bottom: 20px; }
      .tiles .tile {
        width: 30.66667%;
        box-sizing: border-box;
        margin: 0 2% 3%; }
        .tiles .tile:nth-child(3n-3) {
          margin-right: 0; }
          .tiles .tile:nth-child(3n-3)::after {
            content: '';
            clear: both;
            display: block; }
        .tiles .tile:nth-child(3n-2) {
          margin-left: 0; } }
  @media (max-width: 350px) {
    .tiles .tile .text {
      font-size: 14px; }
      .tiles .tile .text .fa {
        font-size: 28px;
        margin-top: -12px; } }

.icon.white {
  -webkit-filter: invert(1);
  -moz-filter: invert(1);
  filter: invert(1); }

.search-form {
  z-index: 2;
  position: relative; }
  .search-form input {
    background: transparent;
    border-bottom: 1px solid #FFFFFF;
    padding: 16px 0 8px;
    width: 100%;
    color: #FFFFFF; }
    .search-form input:focus, .search-form input:active {
      border-color: #08d58f; }
  .search-form.sidebar {
    padding: 10px 15px 0 15px; }

.slider {
  position: relative;
  cursor: pointer; }
  .slider .track {
    position: absolute;
    background: rgba(255, 255, 255, 0.3);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    .slider .track .progress {
      position: absolute;
      background: #08d58f;
      pointer-events: none;
      left: 0; }
  .slider.horizontal {
    margin: 10px 0;
    height: 20px; }
    .slider.horizontal .track {
      height: 2px;
      top: 9px;
      right: 0;
      left: 0; }
      .slider.horizontal .track .progress {
        top: 0;
        height: 100%; }
  .slider.vertical {
    width: 20px;
    height: 100%; }
    .slider.vertical .track {
      width: 2px;
      top: 0;
      bottom: 0;
      left: 9px; }
      .slider.vertical .track .progress {
        bottom: 0;
        width: 100%; }

.player .current-track {
  font-size: 16px;
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 15px; }
  .player .current-track .title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .player .current-track .artist-sentence {
    opacity: 0.5;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .player .current-track .artist-sentence .artist {
      color: inherit;
      text-decoration: none;
      border-bottom: 1px dotted transparent; }

.player .controls {
  text-align: center; }
  .player .controls a {
    cursor: pointer;
    font-size: 14px;
    padding: 8px;
    display: inline-block;
    opacity: 0.8; }
    .player .controls a.active {
      color: #08d58f; }
    .player .controls a:hover {
      opacity: 1.0; }

.player .slider.horizontal {
  margin-bottom: 0; }
  .player .slider.horizontal .progress {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out; }

.player .artwork .radio-overlay {
  width: 100%;
  height: 100%;
  background: url("assets/backgrounds/category-albums.jpg"); }

.player.mini-player {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 220px;
  box-sizing: border-box;
  z-index: 97;
  padding: 14px;
  color: #FFFFFF; }
  .player.mini-player .artist-sentence .artist:hover {
    border-color: #FFFFFF !important; }
  @media (max-width: 800px), (max-height: 650px) {
    .player.mini-player {
      right: 0;
      width: auto;
      background: #333333;
      padding: 10px; }
      .player.mini-player .controls {
        height: 0px; }
        .player.mini-player .controls .play {
          position: absolute;
          top: 6px;
          left: 3px;
          padding: 12px; }
        .player.mini-player .controls .next {
          position: absolute;
          top: 6px;
          left: 40px;
          padding: 12px; }
        .player.mini-player .controls .volume-control {
          position: absolute;
          top: 6px;
          right: 3px; }
          .player.mini-player .controls .volume-control a {
            padding: 12px; }
          .player.mini-player .controls .volume-control .slider-wrapper {
            bottom: 2px;
            left: 0; }
      .player.mini-player .slider.progress {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: 0;
        height: 2px; }
        .player.mini-player .slider.progress .track {
          top: 0px;
          background: transparent; }
      .player.mini-player .current-track {
        font-size: 12px;
        padding: 0 40px 0 70px;
        line-height: 14px; } }

.volume-control {
  position: relative; }
  .volume-control a {
    position: relative;
    z-index: 99; }
  .volume-control:hover .slider-wrapper {
    display: block; }
  .volume-control .slider-wrapper {
    display: none;
    position: absolute;
    bottom: -6px;
    left: -4px;
    height: 80px;
    padding: 10px 5px 35px 5px;
    background: rgba(0, 0, 0, 0.8);
    z-index: 98; }

aside {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 96;
  background: #111111;
  width: 220px;
  overflow: hidden;
  box-shadow: inset -20px 0px 30px -20px rgba(0, 0, 0, 0.5); }
  aside .liner {
    overflow-y: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-sizing: border-box;
    z-index: 2; }
  @media (max-width: 800px) {
    aside {
      width: 220px;
      left: -220px;
      position: fixed;
      z-index: 98; }
      .sidebar-open aside {
        left: 0px; }
      aside .liner {
        bottom: 0 !important; }
      aside .thumbnail {
        display: none; } }
  @media (max-height: 650px) {
    aside .liner {
      bottom: 60px; } }
  aside .thumbnail {
    position: absolute;
    top: -30px;
    right: -30px;
    bottom: -30px;
    left: -30px;
    height: auto;
    width: auto;
    max-width: none;
    z-index: 1;
    opacity: 0.2; }
    aside .thumbnail .image {
      -webkit-filter: blur(10px);
      filter: blur(10px);
      padding-bottom: 0;
      height: 100%; }
  aside nav {
    z-index: 2;
    position: relative;
    padding-top: 8px; }
    aside nav a {
      font-size: 16px;
      color: #FFFFFF;
      text-decoration: none;
      display: block;
      padding: 6px 18px 6px 14px;
      border-left: 4px solid transparent; }
      aside nav a .icon {
        height: 14px;
        padding-right: 8px;
        vertical-align: top;
        margin-top: 4px; }
      aside nav a.active {
        border-color: #08d58f;
        background: rgba(0, 0, 0, 0.5); }
      aside nav a[disabled] {
        opacity: 0.3;
        cursor: not-allowed; }
      aside nav a:hover:not([disabled]) {
        background: rgba(255, 255, 255, 0.1); }
    aside nav section {
      padding: 10px 0; }
      aside nav section title {
        display: block;
        padding: 0 18px 2px;
        font-size: 11px;
        text-transform: uppercase;
        opacity: 0.5;
        color: #FFFFFF; }

.sidebar-toggle {
  position: absolute;
  top: 0;
  left: 0;
  padding: 18px;
  z-index: 98;
  color: #FFFFFF;
  font-size: 18px;
  cursor: pointer;
  display: none; }
  @media (max-width: 800px) {
    .sidebar-toggle {
      display: block; } }
  header .sidebar-toggle {
    color: #333333; }
  .sidebar-toggle.open {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 220px;
    background: rgba(0, 0, 0, 0.2);
    color: #FFFFFF; }
    .sidebar-toggle.open .open {
      display: none; }
  .sidebar-toggle:not(.open) .close {
    display: none; }

.list .list-item {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  position: relative;
  padding: 12px 10px 12px 20px;
  border-top: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  margin-bottom: -1px; }
  .list .list-item::after {
    content: '';
    clear: both;
    display: block; }
  .list .list-item.selected {
    background: #FFF39C !important; }
  :root .notouch .list .list-item:not(.header):hover {
    background: rgba(150, 150, 150, 0.1);
    cursor: pointer; }
  .list .list-item.header {
    font-size: 10px;
    color: #CCCCCC;
    text-transform: uppercase;
    border-top: 0;
    padding-bottom: 2px; }
  .list .list-item .source {
    color: #AAAAAA;
    position: absolute;
    top: 14px;
    right: 12px; }
  .list .list-item.field {
    padding: 0 !important; }
    .list .list-item.field > label {
      display: block;
      position: relative;
      padding: 12px 10px 12px 20px;
      cursor: pointer; }

.list.track-list .list-item {
  padding-left: 40px; }
  .list.track-list .list-item .col.name {
    width: 40%; }
  .list.track-list .list-item .col.artists, .list.track-list .list-item .col.album {
    width: 25%; }
  .list.track-list .list-item .col.duration {
    width: 5%; }
  .list.track-list .list-item .select-state {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 10px; }
  .list.track-list .list-item .play-state {
    display: none;
    position: absolute;
    top: 16px;
    left: 15px;
    font-size: 10px; }
  .list.track-list .list-item.playing {
    font-weight: 600; }
    .list.track-list .list-item.playing .play-state {
      display: block;
      opacity: 1; }
  .list.track-list .list-item.playing.selected .play-state {
    display: none; }
  :root .dragging .list.track-list .list-item:hover {
    border-top: 3px solid #32b5f2;
    margin-top: -3px;
    background: transparent; }

.list.playlist-list .list-item .col.name {
  width: 50%; }

.list.playlist-list .list-item .col.owner {
  width: 20%; }

.list.playlist-list .list-item .col.source, .list.playlist-list .list-item .col.can_edit, .list.playlist-list .list-item .col.tracks_total, .list.playlist-list .list-item .col.popularity {
  width: 10%; }

.list.album-list .list-item .col.name, .list.album-list .list-item .col.artists {
  width: 30%; }

.list.album-list .list-item .col.added_at, .list.album-list .list-item .col.release_date {
  width: 15%; }

.list.album-list .list-item .col.tracks_total {
  width: 10%; }

.list.library-local-album-list .list-item .col.name, .list.library-local-album-list .list-item .col.artists {
  width: 45%; }

.list.library-local-album-list .list-item .col.tracks_total {
  width: 10%; }

.list.artist-list .list-item .col.name {
  width: 70%; }

.list.artist-list .list-item .col.followers_total, .list.artist-list .list-item .col.popularity {
  width: 15%; }

.list.queue-track-list .col.name, .list.queue-track-list .col.artists, .list.queue-track-list .col.album {
  width: 25% !important; }

.list.queue-track-list .col.added {
  width: 20%; }

.list.queue-history-track-list .list-item .col.name {
  width: 60%; }

.list.queue-history-track-list .list-item .col.played_at, .list.queue-history-track-list .list-item .col.source {
  width: 20%; }

.list.related-artist-list .artist {
  display: block;
  border: 0;
  margin-bottom: 5px; }
  .list.related-artist-list .artist::after {
    content: '';
    clear: both;
    display: block; }
  .list.related-artist-list .artist .thumbnail {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 50%;
    width: 50px;
    margin-right: 15px;
    float: left;
    border: 3px solid transparent; }
  .list.related-artist-list .artist .name {
    display: block;
    padding-top: 20px; }

.list.related-artist-list a.artist:hover .thumbnail {
  border-color: #08d58f;
  opacity: 0.8; }

@media (max-width: 800px) {
  .list .list-item {
    padding: 7px 30px 7px 16px !important; }
    .list .list-item .source {
      position: static;
      float: none; }
    .list .list-item .col.name {
      width: 90% !important;
      padding-right: 10%; }
    .list .list-item .col.duration {
      width: auto !important;
      position: absolute;
      right: 10px;
      text-align: right; }
    .list .list-item .col:not(.name):not(.duration) {
      color: #AAAAAA;
      display: inline;
      width: auto !important;
      float: none !important;
      word-wrap: break-word; }
    .list .list-item .col:not(.name):not(.duration):not(:nth-child(2)) {
      padding-left: 14px; }
      .list .list-item .col:not(.name):not(.duration):not(:nth-child(2)):before {
        display: inline-block;
        content: '\2022';
        margin-left: -8px;
        padding-right: 6px; }
    .list .list-item .col.followers_total:after {
      content: ' followers'; }
    .list .list-item .col.tracks_total:after {
      content: ' tracks'; }
    .list .list-item .col.popularity:after {
      content: '% popularity'; }
    .list .list-item .col.can_edit, .list .list-item .col.release_date {
      display: none; }
    .list .list-item.header {
      display: none; }
    .list .list-item.track .select-state,
    .list .list-item.track .play-state {
      display: none !important; }
  .list.queue-track-list .list-item .artists {
    padding-left: 0 !important; }
    .list.queue-track-list .list-item .artists:before {
      display: none !important; }
  .list.queue-track-list .list-item .source,
  .list.queue-track-list .list-item .added {
    display: none !important; }
  .list.edit-mode .list-item {
    padding-left: 40px !important; }
    .list.edit-mode .list-item.track .select-state {
      display: block !important; } }

.grid .grid-item-wrapper {
  display: inline-block; }

.grid .grid-item {
  display: inline-block;
  vertical-align: top;
  border-bottom: 0;
  position: relative; }
  .grid .grid-item .thumbnail {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    max-width: 100%; }
  .grid .grid-item .name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 8px; }
  .grid .grid-item .secondary {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 2px;
    color: #888888; }
  .grid .grid-item .source {
    color: #888888;
    padding-left: 2px; }
  .grid .grid-item:hover {
    cursor: pointer; }
    .grid .grid-item:hover .thumbnail {
      opacity: 0.75; }

.grid.category-grid .grid-item {
  position: relative; }
  .grid.category-grid .grid-item .name {
    position: absolute;
    bottom: 15%;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #FFFFFF; }

@media (min-width: 1000px) {
  .grid.category-grid .grid-item .name {
    font-size: 16px; } }

@media (min-width: 2400px) {
  .grid.mini .grid-item {
    width: 30.66667%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid.mini .grid-item:nth-child(3n-3) {
      margin-right: 0; }
      .grid.mini .grid-item:nth-child(3n-3)::after {
        content: '';
        clear: both;
        display: block; }
    .grid.mini .grid-item:nth-child(3n-2) {
      margin-left: 0; }
  .grid:not(.mini) .grid-item {
    width: 16.8%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid:not(.mini) .grid-item:nth-child(5n-5) {
      margin-right: 0; }
      .grid:not(.mini) .grid-item:nth-child(5n-5)::after {
        content: '';
        clear: both;
        display: block; }
    .grid:not(.mini) .grid-item:nth-child(5n-4) {
      margin-left: 0; } }

@media (max-width: 2399px) and (min-width: 1200px) {
  .grid.mini .grid-item {
    width: 48%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid.mini .grid-item:nth-child(2n-2) {
      margin-right: 0; }
      .grid.mini .grid-item:nth-child(2n-2)::after {
        content: '';
        clear: both;
        display: block; }
    .grid.mini .grid-item:nth-child(2n-1) {
      margin-left: 0; }
  .grid:not(.mini) .grid-item {
    width: 16.8%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid:not(.mini) .grid-item:nth-child(5n-5) {
      margin-right: 0; }
      .grid:not(.mini) .grid-item:nth-child(5n-5)::after {
        content: '';
        clear: both;
        display: block; }
    .grid:not(.mini) .grid-item:nth-child(5n-4) {
      margin-left: 0; } }

@media (max-width: 1199px) and (min-width: 800px) {
  .grid.mini .grid-item {
    width: 48%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid.mini .grid-item:nth-child(2n-2) {
      margin-right: 0; }
      .grid.mini .grid-item:nth-child(2n-2)::after {
        content: '';
        clear: both;
        display: block; }
    .grid.mini .grid-item:nth-child(2n-1) {
      margin-left: 0; }
  .grid:not(.mini) .grid-item {
    width: 22%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid:not(.mini) .grid-item:nth-child(4n-4) {
      margin-right: 0; }
      .grid:not(.mini) .grid-item:nth-child(4n-4)::after {
        content: '';
        clear: both;
        display: block; }
    .grid:not(.mini) .grid-item:nth-child(4n-3) {
      margin-left: 0; } }

@media (max-width: 799px) and (min-width: 500px) {
  .grid.mini .grid-item {
    width: 13.33333%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid.mini .grid-item:nth-child(6n-6) {
      margin-right: 0; }
      .grid.mini .grid-item:nth-child(6n-6)::after {
        content: '';
        clear: both;
        display: block; }
    .grid.mini .grid-item:nth-child(6n-5) {
      margin-left: 0; }
  .grid:not(.mini) .grid-item {
    width: 30.66667%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid:not(.mini) .grid-item:nth-child(3n-3) {
      margin-right: 0; }
      .grid:not(.mini) .grid-item:nth-child(3n-3)::after {
        content: '';
        clear: both;
        display: block; }
    .grid:not(.mini) .grid-item:nth-child(3n-2) {
      margin-left: 0; } }

@media (max-width: 499px) {
  .grid.mini .grid-item {
    width: 30.66667%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid.mini .grid-item:nth-child(3n-3) {
      margin-right: 0; }
      .grid.mini .grid-item:nth-child(3n-3)::after {
        content: '';
        clear: both;
        display: block; }
    .grid.mini .grid-item:nth-child(3n-2) {
      margin-left: 0; }
  .grid:not(.mini) .grid-item {
    width: 48%;
    box-sizing: border-box;
    margin: 0 2% 3%; }
    .grid:not(.mini) .grid-item:nth-child(2n-2) {
      margin-right: 0; }
      .grid:not(.mini) .grid-item:nth-child(2n-2)::after {
        content: '';
        clear: both;
        display: block; }
    .grid:not(.mini) .grid-item:nth-child(2n-1) {
      margin-left: 0; } }

.grid-slider-wrapper {
  padding-bottom: 10px;
  position: relative; }
  .grid-slider-wrapper .controls {
    position: absolute;
    top: -5px;
    right: 0; }
    .grid-slider-wrapper .controls .fa {
      display: inline-block;
      padding: 8px;
      margin-left: 2px;
      cursor: pointer;
      opacity: 0.5;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .grid-slider-wrapper .controls .fa[disabled] {
        opacity: 0.2;
        cursor: not-allowed; }
      .grid-slider-wrapper .controls .fa:hover {
        opacity: 1; }
  .grid-slider-wrapper .grid-slider {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
    height: 17vw; }
    .has-touch-events .grid-slider-wrapper .grid-slider {
      overflow-x: scroll; }
    .grid-slider-wrapper .grid-slider .liner {
      position: absolute;
      top: 0;
      left: 0;
      width: 400%;
      box-sizing: border-box;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .grid-slider-wrapper .grid-slider .liner .grid-item {
        width: 4%;
        margin: 0 0.5% !important; }
  @media (max-width: 800px) {
    .grid-slider-wrapper .grid-slider {
      height: 23vw; } }
  @media (max-width: 500px) {
    .grid-slider-wrapper .grid-slider {
      height: 40vw; }
      .grid-slider-wrapper .grid-slider .liner {
        width: 666.6667%; } }

main header {
  padding: 14px 20px;
  background: #EEEEEE;
  line-height: 24px; }
  main header h1 {
    font-size: 22px;
    font-weight: 100;
    display: inline-block; }
  main header .icon {
    display: inline-block;
    padding-right: 14px;
    height: 16px; }
  @media (max-width: 800px) {
    main header .icon {
      visibility: hidden; } }
  main header .options {
    position: absolute;
    top: 0;
    right: 10px; }
    main header .options .context-menu-trigger {
      display: none;
      font-size: 18px;
      padding: 16px 14px; }
    main header .options .button,
    main header .options button {
      background: transparent;
      font-size: 14px;
      font-weight: 600;
      padding: 13px 10px;
      margin: 0;
      line-height: 24px;
      text-transform: uppercase;
      min-width: 0;
      border: 0;
      color: #000000; }
      main header .options .button:active,
      main header .options button:active {
        background: rgba(0, 0, 0, 0.15); }
  @media (max-width: 800px) {
    main header .options {
      right: 0; }
      main header .options .context-menu-trigger {
        display: block; }
      main header .options .items {
        display: none; } }

.notifications {
  position: fixed;
  bottom: 15px;
  right: 30px;
  z-index: 97;
  pointer-events: none;
  width: 200px; }
  .notifications .notification {
    display: block;
    position: relative;
    background: #32b5f2;
    padding: 12px 32px 12px 18px;
    margin: 10px 0 0 0;
    color: #FFFFFF;
    pointer-events: all; }
    .notifications .notification .close-button {
      position: absolute;
      top: 10px;
      right: 11px;
      font-size: 11px;
      padding: 4px;
      cursor: pointer;
      opacity: 0.5; }
      .notifications .notification .close-button:hover {
        opacity: 1; }
    .notifications .notification.good {
      background: #47af2a; }
    .notifications .notification.info {
      background: #FFF39C;
      color: #000000; }
    .notifications .notification.bad {
      background: #cf2d2d; }
    .notifications .notification.process {
      position: relative;
      padding-right: 18px; }
      .notifications .notification.process.cancelling {
        color: rgba(255, 255, 255, 0.5); }
      .notifications .notification.process:after {
        position: absolute;
        display: block;
        content: '';
        background: rgba(0, 0, 0, 0.35);
        opacity: 1;
        animation: slideloader 1s infinite;
        bottom: 0;
        left: 0;
        right: 0;
        height: 4px;
        z-index: 1; }
  .notifications .shortcut-notification {
    position: fixed;
    top: 50vh;
    left: 50vw;
    height: 400px;
    width: 400px;
    margin: -200px 0 0 -200px;
    background: #333333;
    color: #FFFFFF;
    border-radius: 10px;
    text-align: center; }
    .notifications .shortcut-notification .fa {
      font-size: 140px;
      line-height: 400px; }
  .notifications .loading {
    animation-name: pulse;
    animation-duration: 0.1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    position: fixed;
    bottom: 8px;
    right: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #AAAAAA; }
    .notifications .loading.high {
      background: #cf2d2d; }
    .notifications .loading.medium {
      background: #f16f19; }
    .notifications .loading.low {
      background: #47af2a; }
  @media (max-width: 800px) {
    .notifications {
      bottom: 48px;
      left: 0;
      right: 0;
      width: auto; }
      .notifications .loading {
        bottom: 20px;
        right: 40px; } }

.dropdown-field {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  position: relative;
  display: inline-block; }
  .dropdown-field .label {
    padding: 14px 10px;
    cursor: pointer; }
  .dropdown-field.expanded .label {
    background: #333333;
    color: #FFFFFF; }
  .dropdown-field.expanded .options {
    display: block; }
  .dropdown-field .options {
    color: #FFFFFF;
    position: absolute;
    top: 52px;
    right: 0px;
    z-index: 97;
    background: #333333;
    display: none; }
    .dropdown-field .options .option {
      position: relative;
      padding: 6px 14px 6px 30px;
      border-top: 1px solid #4d4d4d;
      cursor: pointer; }
      .dropdown-field .options .option .fa {
        position: absolute;
        top: 12px;
        left: 10px;
        font-size: 12px; }
      .dropdown-field .options .option:hover {
        background: #4d4d4d; }

.debug-info {
  font-size: 10px;
  position: fixed;
  top: 0;
  right: 0;
  padding: 10px;
  background: rgba(0, 0, 0, 0.5);
  color: #FFFFFF;
  pointer-events: none;
  width: 200px; }

.artist-view .intro {
  position: relative;
  margin-bottom: 40px; }
  .artist-view .intro::after {
    content: '';
    clear: both;
    display: block; }
  .artist-view .intro .parallax {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto; }
  .artist-view .intro .liner {
    position: relative;
    z-index: 1;
    padding: 20vh 40px 0 260px; }
    .artist-view .intro .liner .thumbnail {
      position: absolute;
      z-index: 2;
      left: 40px;
      bottom: 20px;
      max-width: 184px; }
      .artist-view .intro .liner .thumbnail .image {
        background-color: #111111; }
    .artist-view .intro .liner h1 {
      color: #FFFFFF;
      padding-bottom: 25px; }
    .artist-view .intro .liner .actions {
      padding-bottom: 15px; }
    .artist-view .intro .liner .sub-views {
      color: #FFFFFF; }
      .artist-view .intro .liner .sub-views .option {
        display: inline-block;
        padding: 8px 0;
        margin-right: 25px;
        font-size: 18px;
        font-weight: 400;
        border-bottom: 4px solid transparent;
        cursor: pointer; }
        .artist-view .intro .liner .sub-views .option.active {
          border-color: #F5F5F5; }
        .artist-view .intro .liner .sub-views .option:not(.active):hover {
          border-color: rgba(255, 255, 255, 0.2); }

.artist-view .body.about {
  padding: 0 40px 40px 40px; }
  .artist-view .body.about::after {
    content: '';
    clear: both;
    display: block; }
  .artist-view .body.about .biography {
    padding-left: 40px;
    box-sizing: border-box; }
    .artist-view .body.about .biography .biography-text {
      overflow-wrap: break-word; }

@media (max-width: 800px) {
  .artist-view .intro {
    margin-bottom: 20px; }
    .artist-view .intro .parallax canvas {
      -webkit-filter: blur(5px);
      filter: blur(5px); }
    .artist-view .intro .liner {
      text-align: center;
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 10vh; }
      .artist-view .intro .liner .thumbnail {
        position: static;
        float: none;
        margin: 0 auto 20px;
        max-width: 65%; }
      .artist-view .intro .liner .sub-views {
        margin-left: 0; }
        .artist-view .intro .liner .sub-views .option {
          margin: 0 8px; }
  .artist-view .body.overview .col.w70 {
    width: 100%; }
  .artist-view .body.overview .col.w5,
  .artist-view .body.overview .related-artists {
    display: none; }
  .artist-view .body.about {
    padding: 0 20px 20px 20px; }
    .artist-view .body.about .col.w40,
    .artist-view .body.about .col.w60 {
      width: 100%;
      float: none; }
      .artist-view .body.about .col.w40::after,
      .artist-view .body.about .col.w60::after {
        content: '';
        clear: both;
        display: block; }
    .artist-view .body.about .biography {
      padding-left: 0; } }

.user-view .intro {
  padding-bottom: 20px; }
  .user-view .intro::after {
    content: '';
    clear: both;
    display: block; }
  .user-view .intro .thumbnail {
    max-width: 200px;
    margin: 40px 40px 0 40px;
    float: left; }
  .user-view .intro h1 {
    padding-top: 80px; }
  .user-view .intro .actions {
    padding-top: 20px; }

@media (max-width: 800px) {
  .user-view .intro {
    text-align: center; }
    .user-view .intro .thumbnail {
      float: none;
      margin: 20px auto 20px; }
    .user-view .intro h1 {
      padding-top: 0; } }

.album-view .title {
  padding: 30px 40px; }
  .album-view .title h3 {
    color: #AAAAAA; }
    .album-view .title h3 a:hover {
      color: #777777; }

.album-view .source {
  text-transform: uppercase;
  padding-bottom: 15px; }

.album-view .actions::after {
  content: '';
  clear: both;
  display: block; }

.album-view .description {
  padding-bottom: 5px; }

.album-view .thumbnail {
  float: left;
  max-width: 230px;
  margin: 0 30px 30px 0; }

@media (max-width: 800px) {
  .album-view .title {
    padding: 20px 20px; }
  .album-view .thumbnail {
    float: none;
    max-width: none;
    margin: 0 0 0 0; }
    .album-view .thumbnail .image {
      padding-bottom: 70%; }
  .album-view .actions {
    text-align: center;
    padding-bottom: 20px; } }

.playlist-view .title {
  padding: 30px 40px; }
  .playlist-view .title h3 {
    color: #AAAAAA; }
    .playlist-view .title h3 a:hover {
      color: #777777; }

.playlist-view .source {
  text-transform: uppercase;
  padding-bottom: 15px; }

.playlist-view .actions::after {
  content: '';
  clear: both;
  display: block; }

.playlist-view .description {
  padding-bottom: 5px; }

.playlist-view .thumbnail {
  float: left;
  max-width: 230px;
  margin: 0 30px 30px 0; }

@media (max-width: 800px) {
  .playlist-view .title {
    padding: 20px 20px; }
  .playlist-view .thumbnail {
    float: none;
    max-width: none;
    margin: 0 0 0 0; }
    .playlist-view .thumbnail .image {
      padding-bottom: 70%; }
  .playlist-view .actions {
    text-align: center;
    padding-bottom: 20px; } }

.queue-view .player {
  text-align: center;
  padding: 40px 20px 10px; }
  .queue-view .player .artwork,
  .queue-view .player .controls a {
    border: 0; }
  .queue-view .player .artwork,
  .queue-view .player .controls,
  .queue-view .player .progress {
    display: block;
    max-width: 400px;
    margin: 0 auto; }
  .queue-view .player .controls {
    padding: 20px 0 10px; }
    .queue-view .player .controls a {
      font-size: 18px; }
  .queue-view .player .thumbnail {
    max-width: none; }
  .queue-view .player .current-track {
    padding: 20px 0 0 0;
    font-weight: 700; }
  .queue-view .player .slider {
    margin-top: 0; }
    .queue-view .player .slider .track {
      background: rgba(0, 0, 0, 0.2); }

.queue-view .radio {
  margin: 20px auto 0;
  padding: 10px 12px;
  max-width: 400px;
  background: #EEEEEE;
  box-sizing: border-box; }

.search-view .search-result-sections {
  padding: 20px 20px 0; }
  .search-view .search-result-sections section .inner {
    padding: 10px 20px 0 20px; }

@media (max-width: 800px) {
  .search-view .search-result-sections {
    padding: 10px 10px 0; }
    .search-view .search-result-sections section {
      width: auto;
      float: none; } }

.library-albums-view .albums-detail-subview > .album {
  position: relative;
  padding-bottom: 40px;
  min-height: 220px; }
  .library-albums-view .albums-detail-subview > .album .thumbnail {
    max-width: 220px;
    position: absolute; }
  .library-albums-view .albums-detail-subview > .album .detail {
    padding-left: 220px; }
    .library-albums-view .albums-detail-subview > .album .detail h3 {
      padding: 0 0 0 40px; }
    .library-albums-view .albums-detail-subview > .album .detail h4 {
      padding: 0 0 10px 40px; }
  .library-albums-view .albums-detail-subview > .album .track-list {
    padding-left: 220px; }

@media (max-width: 1000px) {
  .library-albums-view .albums-detail-subview > .album .thumbnail {
    max-width: 160px; }
  .library-albums-view .albums-detail-subview > .album .detail,
  .library-albums-view .albums-detail-subview > .album .track-list {
    padding-left: 160px; } }

@media (max-width: 600px) {
  .library-albums-view .albums-detail-subview {
    padding: 20px 0; }
  .library-albums-view .albums-detail-subview > .album .thumbnail {
    max-width: 60px;
    margin-left: 20px; }
  .library-albums-view .albums-detail-subview > .album .detail {
    padding-left: 80px;
    min-height: 70px; }
    .library-albums-view .albums-detail-subview > .album .detail h3 {
      padding-left: 10px;
      padding-top: 8px; }
    .library-albums-view .albums-detail-subview > .album .detail h4 {
      padding-left: 10px; }
  .library-albums-view .albums-detail-subview > .album .track-list {
    padding-left: 0px; } }

.discover-view section {
  padding: 40px; }

@media (max-width: 800px) {
  .discover-view section {
    padding: 20px; } }

.settings-view section {
  padding: 40px; }

.settings-view .status .item {
  position: relative;
  display: inline-block;
  padding: 0 0 0 45px;
  margin: 0 20px 10px 0;
  min-width: 80px; }
  .settings-view .status .item .icon {
    width: 35px;
    height: 35px;
    position: absolute;
    top: 0;
    left: 0; }
  .settings-view .status .item h4 {
    padding: 0;
    margin: 0; }

.settings-view .field.current-user .text {
  padding: 14px 14px 14px 0px; }
  .settings-view .field.current-user .text .user {
    border: 0;
    position: relative; }
    .settings-view .field.current-user .text .user .thumbnail {
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      position: absolute;
      display: block;
      top: -14px;
      left: 0;
      max-width: 40px;
      border: 2px solid transparent;
      border-radius: 50%; }
    .settings-view .field.current-user .text .user .user-name {
      padding: 2px 14px 2px 55px; }
    .settings-view .field.current-user .text .user[href]:hover .thumbnail {
      cursor: pointer;
      border-color: #08d58f; }

.settings-view .field.pusher-connections .connection.me {
  font-weight: bold; }

@media (max-width: 800px) {
  .settings-view section {
    padding: 20px; } }

.debugger-view section {
  padding: 40px; }

@media (max-width: 800px) {
  .debugger-view section {
    padding: 20px; } }
