/**
 * 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: 100px;
/* screw IE 6, just make it display nice */
}
#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 */
  top: 100px;
  left: 100px;
  width: 0;
  height: 0;
}
#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 */
}
