/* General warning: Beta-ish. Code could be a bit cleaner. */

.ui360, /* entire UI */
.sm2-360ui { /* canvas container */
 position:relative;
}

.ui360 {
 margin-bottom: 5px;
 margin-right: 5px;
}

.ui360,
.sm2-360ui {
 min-width:50px; /* should always be at least this. */
 min-height:50px;
}

.sm2-360ui {
 width:50px;
 height:50px;
}

.sm2-360ui {
 /* slight inner shadow + BG color + border */
 background-color: #f9f9f9;
 background-color: rgba(0,0,0,0.025);
 box-shadow: inset 0px 0px 8px rgba(0,0,0,0.15);
 /* a little radii, modern browsers only */
 border-radius: 100%;
 -webkit-transition: all 0.1s ease-in-out;
 -moz-transition: all 0.1s ease-in-out;
 transition: all 0.1s ease-in-out;
 /* specifics */
 -moz-transition-property: background, border, box-shadow;
 -webkit-transition-property: background, border, box-shadow;
 transition-property: background, border, box-shadow;
}

.sm2-360ui:hover {
 background-color: rgba(0,0,0,0.1);
 border-color: rgba(0,0,0,0.15);
 box-shadow: inset 0px 0px 5px rgba(0,0,0,0.15);
}

.ui360,
.ui360 * {
 vertical-align:middle;
}

.sm2-360ui {
 position:relative;
 display:inline-block; /* firefox 3 et al */
 float:left; /* IE 6+7, firefox 2 needs this, inline-block would work with fx3 and others */
 *display:inline;
 clear:left;
}

.sm2-360ui.sm2_playing,
.sm2-360ui.sm2_paused {
 /* bump on top when active */
 z-index:10;
}

.ui360 a { /* .sm2_link class added to playable links by SM2 */
 float:left;
 display:inline;
 position:relative;
 color:#000;
 text-decoration:none;
 left:3px; /* slight spacing on left UI */
 top:18px; /* vertical align */
 text-indent:50px; /* make room for UI at left */
}

.ui360 a.sm2_link { /* SM2 has now started */
 text-indent:0px; /* UI now in place. */
}

.ui360 a,
.ui360 a:hover,
.ui360 a:focus {
 padding:2px;
 margin-left:-2px;
 margin-top:-2px;
}

.ui360 a:hover,
.ui360 a:focus {
 background:#eee;
 border-radius:3px;
 outline:none;
}

.ui360 .sm2-canvas {
 position:absolute;
 left:0px;
 top:0px;
}

.ui360 .sm2-canvas.hi-dpi {
 /* hi-dpi / "retina" screens */
 top: -50%;
 left: -50%;
 -moz-transform: scale(0.5);
 -ms-transform: scale(0.5);
 -webkit-transform: scale(0.5);
 transform: scale(0.5);
}

.ui360 .sm2-timing {
 position:absolute;
 display:block;
 left:0px;
 top:0px;
 width:100%;
 height:100%;
 margin:0px;
 font:11px "helvetica neue",helvetica,monaco,lucida,terminal,monospace;
 color:#666;
 text-align:center;
 line-height:50px;
}

.ui360 .sm2-timing.alignTweak {
 /* devious center-alignment tweak for Safari (might break things for others.) */
 /* no longer applies. */
 /*
 text-indent:1px;
 */
}

.ui360 .sm2-cover {
 position:absolute;
 left:0px;
 top:0px;
 width:100%;
 height:100%;
 z-index:2;
 display:none;
 background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==); /* old-skool bug: IE 9 won't catch mouse events otherwise. /smash */
}

.ui360 .sm2-360btn {
 position:absolute;
 display:block;
 top:50%;
 left:50%;
/*
 width:22px;
 height:22px;
 margin-left:-11px;
 margin-top:-11px;
*/
 /* by default, cover whole space. make smaller when playing. */
 width:50px;
 height:50px;
 margin-left:-25px;
 margin-top:-25px;
 border-radius: 25px;
 cursor:pointer;
 z-index:3;
}

.ui360 .sm2-360data {
 display:inline-block;
 font-family:helvetica;
}

.sm2-inline-block .ui360 .sm2-360btn,
.ui360 .sm2-360ui.sm2_playing .sm2-360btn,
.ui360 .sm2-360ui.sm2_paused .sm2-360btn {
 /* smaller clickable button, in center */
 width:22px;
 height:22px;
 margin-left:-11px;
 margin-top:-11px;
}

.ui360 .sm2-360ui.sm2_playing .sm2-cover,
.ui360 .sm2-360ui.sm2_paused .sm2-cover {
 display:block;
}

/* this could be optimized a fair bit. */

.ui360,
.ui360 .sm2-360btn-default,
.ui360 .sm2-360ui.sm2_paused .sm2-360btn {
 background:transparent url(360-button-play.png) no-repeat;
 /* if you change the source image, update these data: URIs as well. */
 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAABoUlEQVR42sWVu2oCQRhGU/s8gpVYJeQJNkZSbiH4QNuLlQZS21sJayGYaOEFVFDxNiremj9zig2uzk5YQpKFg8PMd75ZZle9E5Ff4e+Ll8tlQuNoPI2vUcCYOdbIxCmm9F5T0YgNMmS/LebSwWdNa7VayXq9ls1mI9vtVna7nQBj5lgjQxYHN7KY3QkiUbDf7+V4PMrpdArBHGtkyOJc3/n1mVaUUl+F5/PZSrABDi4dpmKH3QkixQEHlw5TsccZmsRCoSD1et1ajkuHqdg/HA5GKZPJCOTzeanVasYMLh2mYsXDIGAoDuG6rlSr1WCdBxrcsTIWazgrQiHS6bSRYJ3XDzeq2O/3+9Ltdm9IpVIhstmslEqlUAY36ii8ZrMpjUbjhmQyKeA4jhSLRWMGN+rhOZ1Oh8ANuVxOyuUy40hwo163RK/XeyPQbrdjgYNr/ILAYDB41Gf1wZnFAQfX+iM0HA5fxuPx+2g0Ej22QoYsDq61mGsymTxMp9NX/Sk2yJDFsRZfXpzXbDZ7WiwW3nw+9zUKGDPHGpkL5V//mn7OJyJZApyzeUS5AAAAAElFTkSuQmCC);
 /* hi-dpi, we presume */
 background-image: none, url(360-button-play-2x.png);
 background-size: 22px 22px;
 *background-image: url(360-button-play.png);
 background-repeat: no-repeat;
}

.ui360 {
 /*
  "fake" button shown before SM2 has started, non-JS/non-SM2 case etc.
  background image will be removed via JS, in threeSixyPlayer.init()
 */
 background-position: 14px 50%;
 _background:transparent url(360-button-play.gif) no-repeat 14px 50%; /* IE 6-only: special crap GIF */
}

.ui360 .sm2-360btn-default,
.ui360 .sm2-360ui.sm2_paused .sm2-360btn {
 background-position:50% 50%;
 _background:transparent url(360-button-play.gif) no-repeat 50% 50%; /* IE 6-only: special crap GIF */
}

.ui360 .sm2-360btn-default,
.ui360 .sm2-360ui.sm2_paused .sm2-360btn {
 cursor:pointer;
}

.ui360 .sm2-360btn-default:hover,
.ui360 .sm2-360ui.sm2_paused .sm2-360btn:hover {
 background:transparent url(360-button-play-light.png) no-repeat 50% 50%;
 /* hi-dpi, we presume */
 background-image: none, url(360-button-play-light-2x.png);
 background-size: 22px 22px;
 _background:transparent url(360-button-play.gif) no-repeat 50% 50%;
 cursor:pointer;
}

.ui360 .sm2-360ui.sm2_playing .sm2-360btn:hover,
.ui360 .sm2-360btn-playing:hover {
 background:transparent url(360-button-pause-light.png) no-repeat 50% 50%;
 background-image: none, url(360-button-pause-light-2x.png);
 background-size: 22px 22px;
 _background:transparent url(360-button-pause-light.gif) no-repeat 50% 50%;
 cursor:pointer;
}

.ui360 .sm2-360ui.sm2_playing .sm2-timing {
 visibility:visible;
}

.ui360 .sm2-360ui.sm2_buffering .sm2-timing {
 visibility:hidden;
}

.ui360 .sm2-360ui .sm2-timing,
.ui360 .sm2-360ui .sm2-360btn:hover + .sm2-timing,
.ui360 .sm2-360ui.sm2_paused .sm2-timing {
 visibility:hidden;
}

.ui360 .sm2-360ui.sm2_dragging .sm2-timing,
.ui360 .sm2-360ui.sm2_dragging .sm2-360btn:hover + .sm2-timing {
 /* paused + dragging */
 visibility:visible;
}

.ui360 .sm2-360ui.sm2_playing .sm2-360btn,
.ui360 .sm2-360ui.sm2_dragging .sm2-360btn,
.ui360 .sm2-360ui.sm2_dragging .sm2-360btn:hover,
.ui360 .sm2-360ui.sm2_dragging .sm2-360btn-playing:hover {
 /* don't let pause button show on hover when dragging (or paused and dragging) */
 background:transparent;
 cursor:auto;
}

.ui360 .sm2-360ui.sm2_buffering .sm2-360btn,
.ui360 .sm2-360ui.sm2_buffering .sm2-360btn:hover {
  background:transparent url(icon_loading_spinner.gif) no-repeat 50% 50%;
  opacity:0.5;
  visibility:visible;
}

/* inline list style */

.sm2-inline-list .ui360,
.sm2-inline-block .ui360 {
 position:relative;
 display:inline-block;
 float:left;
 _display:inline;
 /*
 margin-bottom:-15px;
 */
}

.sm2-inline-block .ui360 {
 margin-right:8px;
}

.sm2-inline-list .ui360 a {
 display:none;
}

/* annotations */

ul.ui360playlist {
 list-style-type:none;
}

ul.ui360playlist,
ul.ui360playlist li {
 margin:0px;
 padding:0px;
}

div.ui360 div.metadata {
 display:none;
}

div.ui360 a span.metadata,
div.ui360 a span.metadata * {
 /* name of track, note etc. */
 vertical-align:baseline;
}
