/**
 * SoundManager 2 + useFlashBlock
 * ------------------------------
 * Flash positioning and flashblock / clicktoflash handling
 */

#sm2-container {
 /**
  * where the SM2 flash movie goes. by default, relative container.
  * set relative or absolute here, and don't touch it later or bad things will happen (see below comments.)
  */
 position: absolute;
 width: 1px;
 height: 1px;
 overflow: hidden;
 /* screw IE 6, just make it display nice */
 _overflow: hidden;
}

#sm2-container object,
#sm2-container embed {
 /**
  * the actual SWF movie bit.
  * important: The SWF needs to be able to be moved off-screen without display: or position: changes.
  * changing display: or position: or overflow: here or on parent can cause SWF reload or other weird issues after unblock
  * e.g., SM2 starts but strange errors, no whileplaying() etc.
  */
 width: 48px;
 height: 48px;
 /* some flash blockers may also respect this rule */
 max-width: 48px;
 max-height: 48px;
}

#sm2-container.swf_timedout {
 /* expand to show the timed-out SWF content */
 position: relative;
 width: 48px;
 height: 48px;
}

#sm2-container.swf_timedout,
#sm2-container.swf_timedout object,
#sm2-container.swf_timedout embed {
 /**
  * when SM2 didn't start normally, time-out case. flash blocked, missing SWF, no flash?
  * 48px square flash placeholder is typically used by blockers.
  */
 min-width: 48px;
 min-height: 48px;
}

#sm2-container.swf_unblocked {
 /* SWF unblocked, or was never blocked to begin with; try to collapse container as much as possible. */
 width: 1px;
 height: 1px;
}

#sm2-container.swf_loaded object,
#sm2-container.swf_loaded embed,
#sm2-container.swf_unblocked object,
#sm2-container.swf_unblocked embed {
 /* hide flash off-screen (relative to container) when it has loaded OK */
 left: -9999em;
 top: -9999em;
}

#sm2-container.swf_error {
 /* when there is a fatal error (flash loaded, but SM2 failed) */
 display: none;
}

#sm2-container.high_performance,
#sm2-container.high_performance.swf_timeout {
 /* "high performance" case: keep on-screen at all times */
 position: absolute;
 position: fixed;
}

#sm2-container.high_performance {
 overflow: hidden;
 _top: -9999px; /* IE 6 hax, no position:fixed */
 _left: -9999px;
 bottom: 0px;
 left: 0px;
 /**
  * special case: show at first with w/h, hide when unblocked.
  * might be bad/annoying.
  * try to stay within ClickToFlash "invisible" limits (so it won't be blocked.)
  */
 z-index: 99; /* try to stay on top */
}

#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 {
 /**
  * 8x8px is required minimum to load in fx/win32 in some cases(?)
  * 6x6+ good for fast performance, even better when on-screen via position:fixed
  * also, clickToFlash (Safari <5.1) may auto-load "invisible" SWFs at this size
  */
 height: 8px;
 width: 8px;
}

#sm2-container.high_performance.swf_loaded {
 /* stay bottom/left */
 top: auto;
 bottom: 0px;
 left: 0px;
}

#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 {
 /* high-performance case must stay on-screen */
 left: auto;
 top: auto;
}

#sm2-container.high_performance.swf_timedout {
 z-index: 99; /* try to stay on top */
}











ul.flat {
 list-style-type:none;
 padding-left:0px;
}

ul.flat li,
ul.graphic li {
 padding-bottom:1px;
}

ul.flat li a {
 display:inline-block;
 padding:2px 4px 2px 4px;
}

ul.graphic {
 list-style-type:none;
 padding-left:0px;
 margin-left:0px;
}

/* background-image-based CSS3 example */

ul.graphic {
 list-style-type:none;
 margin:0px;
 padding:0px;
}

ul.graphic li {
 margin-bottom:2px;
}

ul.graphic li a,
ul.graphic li a.sm2_link {
 /* assume all items will be sounds rather than wait for onload etc. in this example.. may differ for your uses. */
 display:inline-block;
 padding-left:22px;
 min-height:16px;
 vertical-align: middle;
 background-color:#336699;
 border-radius:3px;
 padding:3px 3px 3px 25px;
 min-width:19em;
 _width:19em; /* IE 6 */
 text-decoration:none;
 font-weight:normal;
 color:#f6f9ff;
}

ul.graphic li a.sm2_link {
 /* safari 3.1+ fun (or, proprietary crap. TBD.) */
 -webkit-transition-property: hover;
 -webkit-transition: background-color 0.15s linear;
 -moz-transition: background-color 0.15s linear 0s; /* firefox 4 */
  -o-transition-property: background-color; /* opera 10.5 */
  -o-transition-duration: 0.15s;
}

ul.graphic li a, /* use a.sm2_link {} if you want play icons showing only if SM2 is supported */
ul.graphic li a.sm2_paused:hover,
ul.graphic li a.sm2_link:hover {
 background-image:url(../image/icon_play.png);
 background-position:3px 50%;
 background-repeat:no-repeat;
 _background-image:url(../image/icon_play.gif); /* IE 6 */
}

ul.graphic li a.sm2_link:hover {
 /* default hover color, if you'd like.. */
 background-color:#003366;
 color:#fff;
}

ul.graphic li a.sm2_paused {
 background-color:#999;
}

ul.graphic li a.sm2_paused:hover {
 background:#003366 url(../image/icon_play.png) no-repeat 3px 50%;
 _background-image:url(../image/icon_play.gif);
}

ul.graphic li a.sm2_playing,
ul.graphic li a.sm2_playing:hover {
 background:#003366 url(../image/icon_pause.png) no-repeat 3px 50%;
 _background-image:url(../image/icon_pause.gif);
 text-decoration:none;
}

/* hide button while playing?
ul.graphic li a.sm2_playing {
 background-image:none;
}
*/

body #sm2-container object,
body #sm2-container embed {
 /*
  flashblock handling: hide SWF off-screen by default (until blocked timeout case.)
  include body prefix to ensure override of flashblock.css.
 */

 left:-9999em;
 top:-9999em;
}

/* flat CSS example */

ul.flat a.sm2_link {
 /* default state: "a playable link" */
 border-left:6px solid #999;
 padding-left:4px;
 padding-right:4px;
}

ul.flat a.sm2_link:hover {
 /* default (inactive) hover state */
 border-left-color:#333;
}


ul.flat a.sm2_playing {
 /* "now playing" */
 border-left-color:#6666ff;
 background-color:#000;
 color:#fff;
 text-decoration:none;
}

ul.flat a.sm2_playing:hover {
 /* "clicking will now pause" */
 border-left-color:#cc3333;
}

ul.flat a.sm2_paused {
 /* "paused state" */
 background-color:#666;
 color:#fff;
 text-decoration:none;
}

ul.flat a.sm2_paused:hover {
 /* "clicking will resume" */
 border-left-color:#33cc33;
}