/**
 * graphical keyboard layout, fixed size (664*230px)
 */

#keyboardStage {
  position: relative;
  width: 664px;
  margin: 0 auto;
}

ul#keyboard, ul#keyboard ul {
  margin: 0;
  padding: 0;
  width: 664px;
}
* html ul#keyboard ul {
  /**
   * IE6-specific hack:
   * required for the pc104/pc105 layouts
   * the TMx layout requires another hack on li#ac01, see below
   */
  width: 672px;
}
ul#keyboard {
  margin: 0;
  position: relative;
  height: 210px;
}


/******************************************************************************
 * Default Keyboard Geometry (pc104)
 */

/* rows */
ul#keyboard li {
  list-style-type: none;
  clear: both;
  margin: 0;
  padding: 0;
}
ul#keyboard li#row_AD {
  position: absolute;
  top: 46px;
}
ul#keyboard li#row_AC {
  position: absolute;
  top: 92px;
}
ul#keyboard li#row_AB {
  position: absolute;
  top: 138px;
}
ul#keyboard li#row_AA {
  position: absolute;
  top: 184px;
}

/* keys */
ul#keyboard li li {
  position: relative;
  float: left;
  clear: none;
  width: 40px;
  height: 40px;
  margin: 2px;
  border: 1px solid black;
   -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
       -ms-border-radius: 5px;
        -o-border-radius: 5px;
           border-radius: 5px;
}
ul#keyboard li strong {
  position: absolute;
  font-weight: normal;
  top: 2px;
  left: 3px;
}
ul#keyboard li em {
  position: absolute;
  font-style: normal;
  bottom: 2px;
  left: 3px;
}
ul#keyboard li .deadKey {
  font-size: larger;
  color: red;
}

/* special keys */
ul#keyboard li.specialKey {
  background-color: #ddd;
}
ul#keyboard li.specialKey * {
  font-size: 13px;
  font-style: italic;
}
li#row_AA li.specialKey {
  width: 56px;
}
ul#keyboard li#key_TAB,
ul#keyboard li#key_BKSP {
  width: 60px;
}
ul#keyboard li#key_CAPS,
ul#keyboard li#key_RTRN {
  width: 73px;
}
ul#keyboard li#key_LFSH,
ul#keyboard li#key_RTSH {
  width: 96px;
}
ul#keyboard li#key_SPCE {
  width: 240px;
}
ul#keyboard li#key_MENU {
  width: 40px;
}

/* hide LSGT for pc104 (default) */
li#key_LSGT, li#key_CAPS105, li#key_RTRN105 {
  display: none;
}


/******************************************************************************
 * European Keyboard Geometry (pc105)
 */

.pc105 li#key_LFSH {
  width: 50px !important;
}
.pc105 li#key_RTRN {
  width: 27px !important;
  height: 86px !important;
  margin-top: -44px;
  margin-left: 48px;
}
.pc105 li#key_BKSL {
  margin-top: 48px;
  margin-left: -31px;
}
.pc105 li#key_LSGT {
  display: block;
}
/* visual tweaks for CapsLock and Return */
.pc105 li#key_CAPS105, .pc105 li#key_RTRN105 {
  background-color: #e8e8e8 !important;
  display: block;
}
.pc105 li#key_CAPS {
  width: 60px !important;
}
.pc105 li#key_CAPS, .pc105 li#key_RTRN {
  z-index: 1;
}
.pc105 li#key_CAPS105 {
  margin-left: -64px;
  width: 73px !important;
}
.pc105 li#key_RTRN105 {
  margin-top: -44px;
  margin-left: -44px;
  width: 40px !important;
}


/******************************************************************************
 * Ergonomic Keyboard Geometry (TMx)
 */

.tmx li#key_CAPS {
  display: none;
}
.tmx li#key_BKSL {
  margin-top: 94px;
  margin-left: -96px;
}
.tmx li#key_TLDE, .tmx li#key_TAB,  .tmx li#key_LFSH, .tmx li#key_LCTL,
.tmx li#key_AE12, .tmx li#key_AD12, .tmx li#key_RTSH, .tmx li#key_RCTL,
.tmx li#key_BKSP, .tmx li#key_RTRN {
  width: 46px !important;
}
.tmx li#key_LWIN, .tmx li#key_LALT, .tmx li#key_RWIN, .tmx li#key_RALT {
  width: 63px !important;
}
.tmx li#key_TLDE, .tmx li#key_TAB, .tmx li#key_LFSH, .tmx li#key_LCTL {
  margin-left: 3px;
}
.tmx li#key_AC01 {
  margin-left: 55px;
}
* html .tmx li#key_AC01 { /* IE6-specific hack */
  margin-left: 29px;
}
.tmx li#key_AE06, .tmx li#key_AD06, .tmx li#key_AC06, .tmx li#key_AB06 {
  margin-left: 54px;
}
.tmx li#key_BKSP {
  margin-left: -378px;
  height: 86px !important;
}
.tmx li#key_RTRN {
  margin-left: -326px;
  height: 86px !important;
}
.tmx li#key_LFSH, .tmx li#key_RTSH {
  height: 86px !important;
  margin-top: -44px;
}
.tmx li#key_RTSH {
  margin-left: 48px;
}
.tmx li#key_SPCE {
  width: 230px !important;
}


/******************************************************************************
 * Background Images for Tab, Backspace, Caps, Return, Shift
 */

li#key_TAB *, li#key_BKSP *, li#key_CAPS *,
li#key_LFSH *, li#key_RTSH *, li#key_RTRN * {
  display: none;
}
li.specialKey {
  background-repeat: no-repeat;
  background-position: bottom left;
}

li#key_TAB  { background-image: url(keyboard/key-tab.png);  }
li#key_BKSP { background-image: url(keyboard/key-bksp.png); }
li#key_CAPS { background-image: url(keyboard/key-caps.png); }
li#key_RTRN { background-image: url(keyboard/key-rtrn.png); }
li#key_LFSH, li#key_RTSH {
  background-image: url(keyboard/key-shift.png);
}

/* IE6 hack, using GIF instead of PNG */
* html li#key_TAB  { background-image: url(keyboard/key-tab.gif);  }
* html li#key_BKSP { background-image: url(keyboard/key-bksp.gif); }
* html li#key_CAPS { background-image: url(keyboard/key-caps.gif); }
* html li#key_RTRN { background-image: url(keyboard/key-rtrn.gif); }
* html li#key_LFSH, * html li#key_RTSH {
  background-image: url(keyboard/key-shift.gif);
}


/******************************************************************************
 * Displayed if the keyboard rendering is altered by an ad blocker
 */

#badRendering {
  clear: both;
  text-align: center;
  font-weight: bold;
  color: brown;
  display: none;
}
