html.VirtualKeyboardPopup, body.VirtualKeyboardPopup {
        padding: 0;
        margin: 0;
}

#virtualKeyboard {
        border: 1px solid #686888;
        background: #fefefe;
        height: 160px;
        margin: 0;
        padding: 0;
        position: relative;
        width: 396px;
}
/*
*  global overrides
*/
#virtualKeyboard * {
        border: 0;
        color: black; 
        cursor: default;
        margin: 0;
        padding: 0;
}
#virtualKeyboard #kbDesk {
        display: inline-block;
        margin: 0;
        padding: 4px 2px 0 2px;
/*IE5.5 will ignore the rule below */
        margin/**/:/**/ 4px 2px 0 4px;
        padding/**/:/**/ 0;
/*--*/
        position: relative;
        font-size: 1px;
        overflow: hidden;
        -moz-user-select: none;
        -khtml-user-select: none;
}

#virtualKeyboard #kbDesk div.kbButton {
        float: left;
        height: 26px;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 26px;
        z-index: 2;
}
#virtualKeyboard #kbDesk div.kbButton a {
        background: url(button_set.gif) 0 0 no-repeat;
        display: block;
        height: 100%;
        position: relative;
        text-decoration: none;
        width: 100%;
}

#virtualKeyboard #kbDesk div.kbButtonHover a {
        background-position: 0 -27px;
}
#virtualKeyboard #kbDesk div.kbButtonDown a {
        background-position: 0 -54px;
}
#virtualKeyboard #kbDesk div.kbButton span {
        display: block;
        font-family: Verdana;
        font-size: 13px;
        font-weight: normal;
        overflow: visible;
        position: absolute;
        text-indent: 0;
        text-align: center;
}
#virtualKeyboard #kbDesk div.kbButton span.title {
        display: none;
}

/**
 *  General definitions for the characters
 */
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charShiftCaps {
        color: black;
        bottom: 3px;
        left: 2px;
}
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charShiftCaps,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShiftCaps {
        color: green;
        font-size: 7pt;
        line-height: 1.1;
        left: 4px;
        top: 0;
        vertical-align: bottom;
        width: 100%;
        z-index: 1;
}
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShiftAlt {
        color: blue;
        left: -5px;
}

/**
 *  When each char class should be visible
 */
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.hiddenAlt,
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charShiftCaps,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charShiftCaps, 
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.hiddenShift,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.hiddenShift,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShiftCaps,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charShiftCaps,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeShiftAltCaps div.kbButton span.charShiftCaps,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.hiddenCaps,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charShiftAlt {
        display: none;
}
#virtualKeyboard #kbDesk.modeAlt div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charCaps,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.charNormal,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShift,
#virtualKeyboard #kbDesk.modeShiftAlt div.kbButton span.charShiftAlt,
#virtualKeyboard #kbDesk.modeShiftCaps div.kbButton span.charShiftCaps {
        display: block !important;
}

#virtualKeyboard #kbDesk.hoverAlt div.kbButton span.charAlt,
#virtualKeyboard #kbDesk.hoverAlt div.kbButton span.charAltShift,
#virtualKeyboard #kbDesk.hoverShift div.kbButton span.charShift,
#virtualKeyboard #kbDesk.hoverShift div.kbButton span.charShiftCaps {
        font-weight: bold;
}

#virtualKeyboard #kbDesk span.deadKey {
        color: red !important;
}

#virtualKeyboard #kbDesk div#kb_benter {
        background-position: -194px 0px;
        margin-top: -26px;
        position: relative;
        float: right;
        height: 52px;
        width: 56px;
        z-index: -1;
}
#virtualKeyboard #kbDesk div#kb_benter[id] {
        z-index: 0;
}
#virtualKeyboard #kbDesk div#kb_benter a {
        background-position: -194px 0px;
}
#virtualKeyboard #kbDesk div#kb_benter.kbButtonHover a {
        background-position: -194px -53px;
}
#virtualKeyboard #kbDesk div#kb_benter.kbButtonDown a {
        background-position: -194px -106px;
}
#virtualKeyboard #kbDesk div#kb_bbackspace a {
        background-position: -27px -81px;
}
#virtualKeyboard #kbDesk div#kb_bbackspace.kbButtonHover a {
        background-position: -27px -108px;
}
#virtualKeyboard #kbDesk div#kb_bbackspace.kbButtonDown a {
        background-position: -27px -135px;
}
#virtualKeyboard #kbDesk div#kb_btab {
        width: 41px;
}
#virtualKeyboard #kbDesk div#kb_btab a {
        background-position: -155px -81px;
}
#virtualKeyboard #kbDesk div#kb_btab.kbButtonHover a {
        background-position: -155px -108px;
}
#virtualKeyboard #kbDesk div#kb_btab.kbButtonDown a {
        background-position: -155px -135px;
}
#virtualKeyboard #kbDesk div#kb_bcaps {
        width: 48px;
}
#virtualKeyboard #kbDesk div#kb_bcaps a {
        background-position: -107px -81px;
}
#virtualKeyboard #kbDesk div#kb_bcaps.kbButtonHover a {
        background-position: -107px -108px;
}
#virtualKeyboard #kbDesk div#kb_bcaps.kbButtonDown a {
        background-position: -107px -135px;
}
#virtualKeyboard #kbDesk div#kb_bshift_left,
#virtualKeyboard #kbDesk div#kb_bshift_right {
        width: 52px;
}
#virtualKeyboard #kbDesk div#kb_bshift_left a,
#virtualKeyboard #kbDesk div#kb_bshift_right a {
        background-position: -54px -81px;
}
#virtualKeyboard #kbDesk div#kb_bshift_left.kbButtonHover a,
#virtualKeyboard #kbDesk div#kb_bshift_right.kbButtonHover a {
        background-position: -54px -108px;
}
#virtualKeyboard #kbDesk div#kb_bshift_left.kbButtonDown a,
#virtualKeyboard #kbDesk div#kb_bshift_right.kbButtonDown a {
        background-position: -54px -135px;
}
#virtualKeyboard #kbDesk div#kb_balt_left,
#virtualKeyboard #kbDesk div#kb_balt_right {
        padding: 0 0 0 2px;
        width: 32px;
}
#virtualKeyboard #kbDesk div#kb_balt_left {
        margin-left: 33px;
        padding-left: 0;
/*IE5.5 will ignore the rule below */
        padding-left/**/:/**/ 41px;
        margin-left/**/:/**/ 0;
/*--*/
}
#virtualKeyboard #kbDesk div#kb_balt_left a,
#virtualKeyboard #kbDesk div#kb_balt_right a {
        background-position: -251px 0;
}
#virtualKeyboard #kbDesk div#kb_balt_left.kbButtonHover a,
#virtualKeyboard #kbDesk div#kb_balt_right.kbButtonHover a {
        background-position: -251px -27px;
}
#virtualKeyboard #kbDesk div#kb_balt_left.kbButtonDown a,
#virtualKeyboard #kbDesk div#kb_balt_right.kbButtonDown a {
        background-position: -251px -54px;
}
#virtualKeyboard #kbDesk div#kb_bctrl_left,
#virtualKeyboard #kbDesk div#kb_bctrl_right {
        float: left;
        width: 32px;
}
#virtualKeyboard #kbDesk div#kb_bctrl_right {
        float: right;
}
#virtualKeyboard #kbDesk div#kb_bctrl_left a,
#virtualKeyboard #kbDesk div#kb_bctrl_right a {
        background-position: -251px -81px;
}
#virtualKeyboard #kbDesk div#kb_bctrl_left.kbButtonHover a,
#virtualKeyboard #kbDesk div#kb_bctrl_right.kbButtonHover a {
        background-position: -251px -108px;
}
#virtualKeyboard #kbDesk div#kb_bctrl_left.kbButtonDown a,
#virtualKeyboard #kbDesk div#kb_bctrl_right.kbButtonDown a {
        background-position: -251px -135px;
}
#virtualKeyboard #kbDesk div#kb_bdel a {
        background-position: 0 -81px;
}
#virtualKeyboard #kbDesk div#kb_bdel.kbButtonHover a {
        background-position: 0 -108px;
}
#virtualKeyboard #kbDesk div#kb_bdel.kbButtonDown a {
        background-position: 0 -135px;
}
#virtualKeyboard #kbDesk div#kb_bspace {
        width: 166px;
}
#virtualKeyboard #kbDesk div#kb_bspace a {
        background-position: -27px 0;
}
#virtualKeyboard #kbDesk div#kb_bspace.kbButtonHover a {
        background-position: -27px -27px;
}
#virtualKeyboard #kbDesk div#kb_bspace.kbButtonDown a {
        background-position: -27px -54px;
}

#virtualKeyboard select#kb_langselector,
#virtualKeyboard select#kb_mappingselector {
        border: 1px solid black;
        bottom: 2px;
        position: absolute;
        right: 2px;
        width: 125px;
}
#virtualKeyboard select#kb_mappingselector {
        right: 140px;
}
#virtualKeyboard select,
#virtualKeyboard select option {
        background: #fff;
        font-family: Arial, Tahoma, Verdana sans-serif;
        font-size: 11px;
}
#virtualKeyboard select optgroup option {
        padding-left: 20px;
}

#virtualKeyboard #copyrights {
        bottom: 4px;
        color: blue;
        font-family: tahoma, verdana, arial;
        font-size: 9px;
        left: 2px;
        line-height: normal;
        position: absolute;
}
#virtualKeyboard #copyrights a {
        font-size: 9px;
        color: blue;
        cursor: default;
        outline: 0;
}

/**
 *
 *  Styles for the IME field
 *
 */
#VirtualKeyboardIME {
   background: #fff;
   border: 0;
   position: absolute;
}
#VirtualKeyboardIME div {
   font-size: 11px;
}
#VirtualKeyboardIME table,
#VirtualKeyboardIME table td {
   border: 0;
   border-collapse: collapse;
   margin: 0;
   padding: 0;
   text-align: right;
   white-space: nowrap;
}
#VirtualKeyboardIME table td.IMEControl {
   border: 1px solid #000;
   padding: 1px;
}

#VirtualKeyboardIME td.IMEContent {
   border: 1px solid #333;
   border-top: 0;
   border-bottom: 0;
   margin: 0 12px;
   overflow: auto;
   padding: 0 3px;
   white-space: nowrap;
}
#VirtualKeyboardIME td.IMEContent a {
   text-decoration: none;
   color: #000;
}
#VirtualKeyboardIME td.IMEContent a:hover {
   text-decoration: underline;
}
#VirtualKeyboardIME div.left,
#VirtualKeyboardIME div.right {
   border-bottom: 10px solid #fff;
   border-top: 10px solid #fff;
   font-size: 1px;
   overflow: hidden;
}
#VirtualKeyboardIME div.left {
   border-left: 0px solid #000;
   border-right: 10px solid #000;
}
#VirtualKeyboardIME div.right {
   border-left: 10px solid #000;
   border-right: 0px solid #000;
}
#VirtualKeyboardIME td.IMEInfo {
   height: 13px;
   vertical-align: middle;
}
#VirtualKeyboardIME td.IMEInfo div {
   position: relative;
   width: 100%;
}
#VirtualKeyboardIME td.IMEInfo div.showAll div.arrow,
#VirtualKeyboardIME td.IMEInfo div.showPage div.arrow {
   border-left: 10px solid #fff;
   border-right: 10px solid #fff;
   top: 2px;
   left: 50%;
   margin-left: -10px;
   overflow: hidden;
   position: absolute;
   height: 0;
   width: 0;
}

#VirtualKeyboardIME td.IMEInfo div.showAll div.arrow {
   border-bottom: 0px solid #000;
   border-top: 10px solid #000;
}
#VirtualKeyboardIME td.IMEInfo div.showPage div.arrow {
   border-bottom: 10px solid #000;
   border-top: 0px solid #000;
}
#VirtualKeyboardIME td.IMEInfo div.IMEPageCounter {
   float: left;
   width: auto;
}

/************************************
* Place for the locale-dependent styles
* overload fonts here
*
* Language-dependent class name is equal to uppercased language domain code (ZH in zh-CN)
*/
#virtualKeyboard.ZH div.kbButton span {
        font-family: MingLiU, SimSun, "Arial Unicode MS";
        font-size: 13px;
}
#virtualKeyboard.ZH div.kbButton span.alted,
#virtualKeyboard.ZH div.kbButton span.shifted {
        font-size: 9px;
}
#VirtualKeyboardIME.ZH div.IMEContent {
        font-family: SimSun, "Arial Unicode MS";
        font-size: 16px;
}