/* 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;
}
/* larger canvas, spectrum + EQ visualization and other items */

.ui360-vis,
.ui360-vis .sm2-360ui,
.sm2-inline-list .ui360-vis {
    /* size of the container for the circle, etc. */
    
    width: 256px;
    height: 256px;
}

.ui360-vis {
    position: relative;
    /* a little extra spacing */
    
    padding-top: 1px;
    padding-bottom: 1px;
    margin-bottom: -18px;
    /* approximate "line height" we want */
    
    padding-left: 248px;
    margin-left: 0px;
    background-position: 22.6% 50%;
    /* (~109px) initial play button position */
}

.sm2-inline-list .ui360-vis {
    cursor: pointer
}

.ui360-vis a {
    font: 14px "helvetica neue", helvetica, monaco, lucida, terminal, monospace;
    white-space: nowrap;
    text-indent: 0px;
    /* undo inline style */
    
    top: 46%;
    /* ehh. */
}

.sm2-inline-list .ui360-vis a {
    line-height: 256px;
    top: auto;
}

.ui360-vis .sm2-360ui {
    margin-left: -256px;
}

.ui360-vis .sm2-timing {
    font: bold 24px "helvetica neue", helvetica, monaco, lucida, terminal, monospace;
    color: #333;
    text-align: center;
    line-height: 256px;
    text-indent: 0px;
}

.sm2-inline-list .ui360-vis,
.sm2-inline-list .ui360-vis .sm2-360ui {
    margin-left: 0px;
}

.sm2-inline-list .ui360-vis {
    margin: 8px 13px 7px 0px;
    padding-left: 0px;
    background-position: 50% 50%;
    /* initial play button position */
}

.sm2-inline-list .ui360-vis .sm2-360ui {
    border: 1px solid #eee;
    /* offset the border */
    
    margin-left: -1px;
    margin-top: -1px;
}

.sm2-inline-list .ui360-vis a {
    position: absolute;
    display: inline;
    left: 0px;
    bottom: 0px;
    top: 1px;
    width: 100%;
    /* 2px padding in box */
    
    height: 99%;
    /* dumb vertical hack */
    
    *height: 256px;
    /* IE is dumb. */
    
    overflow: hidden;
    font-size: small;
    font-weight: 300;
    color: #333;
    margin: 0px;
    padding: 0px;
    line-height: 488px;
    /* bottom vertical alignment for text */
    
    *line-height: 480px;
    /* IE again */
    
    text-align: center;
    border-radius: 0px;
}

.sm2-inline-list .ui360 a:hover {
    background-color: transparent;
    /* reset */
}

.sm2-inline-list .ui360-vis:hover .sm2-360ui,
.sm2-inline-list .ui360-vis a.sm2_link:hover,
.sm2-inline-list .ui360-vis a.sm2_link:active,
.sm2-inline-list .ui360-vis a.sm2_link:focus {
    background-color: transparent;
}
/* Use a bigger loading image for this layout */

.ui360-vis .sm2-360btn,
.ui360-vis .sm2-360ui.sm2_paused .sm2-360btn,
.ui360-vis .sm2-360ui.sm2_playing .sm2-360btn {
    width: 48px;
    height: 48px;
    margin-left: -24px;
    margin-top: -24px;
    border-radius: none;
}

.ui360-vis,
.ui360-vis .sm2-360ui.sm2_paused .sm2-360btn,
.ui360-vis .sm2-360btn-default {
    background: transparent url(360-button-vis-play.png) no-repeat 50% 50%;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAABuVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv7++lpaXr6+uAgIDk5OQzMzPt7e1tbW3n5+dgYGDW1tZNTU10dHQ5OTnw8PCvr6/e3t6JiYlAQEDb29vo6OgrKyuqqqrq6uq4uLjf399AQEDGxsbq6uqAgIDY2Nje3t61tbXp6enU1NTu7u7r6+vl5eXt7e2fn5/n5+fDw8Ph4eHv7+/t7e3CwsLW1tbu7u7b29vw8PDm5uYgICDp6enY2Nji4uLo6Ojm5uakpKTS0tLPz8/h4eHw8PDs7Ozj4+Pa2trg4ODx8fHT09Pk5OTPz8/S0tLBwcGmpqawsLCOjo7h4eHn5+fo6OgAAADY2NjNzc3n5+cAAADd3d3Gxsbu7u7t7e0AAADX19fl5eXi4uLf39/Hx8fn5+fs7Ozg4ODR0dHX19e4uLjv7+/z8/P09PTy8vL19fXv7+/n5+fx8fH29vbs7Ozq6urm5ubo6Ojw8PDu7u7p6enr6+sAAAB/f3/Z2dn39/fh4eGOjo4ODg7t7e3l5eWWlpba2tqjo6NVVVXk5OTe3t65ubnMzMzExMTf39/GxsampqZiYmJNcTiZAAAAbXRSTlMAAQIEAwcFCAb5EdAImAXpB6oIUAoLCfsgZQ0EVrsGEr4ZYQgbsgpUYxikNd/aatQQli+R7rlUUdas6+8I+VaFruoOOV/S8Nq5sWL8UqmKUFsuHyTcrtsJm0z7C49V3NMKkdKXuk7S7oVeVSv7tAAEVwAAAu5JREFUeF6llmVz3DwURmNLsr1pmJmZmZmxzMwsybS8gXJfhl9cKXbHEK+TmZ4P/nDnOXN1NbalHD8CQ7QRGDmhnIQhBDYQnkhheRECSVIQQrLMHookAciUkHhBw1zVwuLShcJIpPDC0uJC1VxDQTaFx1srSvM3DUxU1TRVlWBjM7+0opUrQaupLSnrLK7ELIepwaCYmbiyuLOspJY38eeLykdGxzDhYQfKCmOjI+VFPkMQYF7NZD0l2DgFJrR+siYPegxBzBvqeoQxpgGw8qOuoTz3HGw9udUPCaFZIORhdS5blZOHjXWDBIdABusanb0S4MpqEw4XcNPqCrQFQQTN+XwPQ8CY5jcDUbB3KLdlg6hnQDZacqEgWA3a2rF6Jri9zWohwI6dXXK2QHZ3OqBw0qC7B6vnAPd0sxZMkHr7VNPD34YZgNrXK3EBSgPU9HJ4eIQDDDogQS4ow4QJxy4+MmKs4oYJZFhhggjQuMoKHoHzn3bsQx1HQOTClOkXLP6lviZTtjCjmn7B5g/izqszliBHTB+HDhl3PSJbwnxSS3n45HDkVLXkvCWg5Uws7eHgJ98/uKqxzLI9w3o6oXuwhd+OPNVEet0WtnU9/sWNJfz1u6cY1/VtLghQuRgk/PmBmT7hogJPXo3L8YQed3Nw8PWfuB89Eb8scUGUrl33DfH/N93BGeH6NUnkArh1O5FOuNETp2GR27cAE/iaJu6mz8HdCQnan+i96XQmdgaZ9PQ9+xMVoPJgNhrNhBKNzj5Q+E/AavH4SSz6OZRo7Mlj3oDDp7jyPJoKJfr8CpvAOUrQi6eppJaVZOrpCwTdP1cgr93UjKxoN9dka2KX8ealZtBADO3lG2+e7xRAd7Y0igOg2tYdBKD/CBIBenf/lYGJD2y8uv8OgaBDDkry3v57SlQXhL7f35OlwJOXGUBBl571JykmzCIE02T/s0tIASyf/R6Arr59fcM62G+8fnsVhdwFwq4Ov345Of/15wd0RYY81HHUTQAAAABJRU5ErkJggg==);
    *background-image: url(360-button-vis-play.png);
    _background: transparent url(360-button-vis-play.gif) no-repeat 50% 50%;
    cursor: pointer;
}

.ui360-vis:hover .sm2-360btn,
.ui360-vis .sm2-360btn-default:hover,
.ui360-vis .sm2-360ui.sm2_paused .sm2-360btn:hover {
    background: transparent url(360-button-vis-play-light.png) no-repeat 50% 50%;
    _background: transparent url(360-button-vis-play.gif) no-repeat 50% 50%;
    cursor: pointer;
}

.ui360-vis .sm2-360ui.sm2_playing .sm2-360btn:hover,
.ui360-vis .sm2-360btn-playing:hover {
    background: transparent url(360-button-vis-pause-light.png) no-repeat 50% 50%;
    _background: transparent url(360-button-vis-pause-light.gif) no-repeat 50% 50%;
    cursor: pointer;
}

.ui360-vis {
    /* non-JS / before-loaded state */
    
    background-position: 21% 50%;
    _background: transparent url(360-button-vis-play.gif) no-repeat 21% 50%;
    /* IE 6-only: special crap GIF */
}

.ui360-vis .sm2-360btn-default {
    /* real button, post-loaded state */
    
    _background: transparent url(360-button-vis-play.gif) no-repeat 50% 50%;
    /* IE 6-only: special crap GIF */
}

.ui360-vis .sm2-360ui.sm2_dragging .sm2-360btn {
    visibility: hidden;
}

#sm2-container {
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

#sm2-container object,
#sm2-container embed {
    height: 48px;
    max-height: 48px;
    max-width: 48px;
    width: 48px;
}

#sm2-container.swf_timedout {
    height: 48px;
    position: relative;
    width: 48px;
}

#sm2-container.swf_timedout,
#sm2-container.swf_timedout object,
#sm2-container.swf_timedout embed {
    min-height: 48px;
    min-width: 48px;
}

#sm2-container.swf_unblocked {
    height: 1px;
    width: 1px;
}

#sm2-container.swf_loaded object,
#sm2-container.swf_loaded embed,
#sm2-container.swf_unblocked object,
#sm2-container.swf_unblocked embed {
    left: -9999em;
    top: -9999em;
}

#sm2-container.swf_error {
    display: none;
}

#sm2-container.high_performance,
#sm2-container.high_performance.swf_timeout {
    position: fixed;
}

#sm2-container.high_performance {
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: 99;
}

#sm2-container.high_performance.swf_loaded,
#sm2-container.high_performance.swf_unblocked {
    z-index: auto;
}

#sm2-container.high_performance.swf_loaded,
#sm2-container.high_performance.swf_unblocked,
#sm2-container.high_performance.swf_unblocked object,
#sm2-container.high_performance.swf_unblocked embed {
    height: 8px;
    width: 8px;
}

#sm2-container.high_performance.swf_loaded {
    bottom: 0;
    left: 0;
    top: auto;
}

#sm2-container.high_performance.swf_loaded object,
#sm2-container.high_performance.swf_loaded embed,
#sm2-container.high_performance.swf_unblocked object,
#sm2-container.high_performance.swf_unblocked embed {
    left: auto;
    top: auto;
}

#sm2-container.high_performance.swf_timedout {
    z-index: 99;
}
