@charset "utf-8";
/*
 * jQuery UI Dialog 1.8.16
 */
.ui-dialog {
  padding: 0;
  box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
}

.ui-dialog .ui-dialog-titlebar {
  padding: .8em .8em;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.ui-dialog .ui-dialog-titlebar-close {
  right: .4em;
  margin-top: -11px;
}

.ui-widget-content {
  border: 0;
  background: #ffffff;
  color: #333333;
}

.ui-widget-header a {
  color: #333333;
}


/* Touch feedback indicator */
.ui-touch-feedback-icon {
  background-image: url('/assets/img/touch_sprite_feedback.png');
  width: 300px;
  height: 120px;
  position: absolute;
  left: -9999px;
  top: -9999px;
  z-index: 2;
}

.feedback-container {
  z-index: 2;
  position: absolute;
  display: none;
}

.feedback-container.cursor-icon {
  background: url('/assets/img/touch_sprite_feedback.png') -260px -15px no-repeat;
  width: 17px;
  height: 23px;
}

.feedback-container.tap-icon {
  background: url('/assets/img/touch_sprite_feedback.png') -300px -15px no-repeat;
  width: 36px;
  height: 36px;
}

.feedback-container.drag-icon {
  background: url('/assets/img/touch_sprite_feedback.png') -10px -10px no-repeat;
  width: 100px;
  height: 100px;
}

.feedback-container.pulse-icon {
  background: url('/assets/img/touch_sprite_feedback.png') -111px -10px no-repeat;
  width: 100px;
  height: 100px;
}

.feedback-container.scroll-icon {
  background: url('/assets/img/touch_sprite_feedback.png') -212px -10px no-repeat;
  width: 27px;
  height: 100px;
}

/* CSS3 feedback indicator animation. Keep it simple (uses lower cpu cycles)
  as there may be multiple animation requests made in quick successions. */
.animate-feedback-indicator {
  display: block;
  opacity: 0;
  animation-name: showfadeout;
  animation-duration: 350ms;
  -webkit-animation-name: showfadeout;
  -webkit-animation-duration: 350ms;
  -moz-animation-name: showfadeout;
  -moz-animation-duration: 350ms;
  -ms-animation-name: showfadeout;
  -ms-animation-duration: 350ms;
}

@keyframes showfadeout {
  0%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-webkit-keyframes showfadeout {
  0%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-moz-keyframes showfadeout {
  0%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-ms-keyframes showfadeout {
  0%  { opacity: 1; }
  100%  { opacity: 0; }
}

.animate-double-feedback-indicator {
  display: block;
  opacity: 0;
  animation-name: showdoublefadeout;
  animation-duration: 400ms;
  -webkit-animation-name: showdoublefadeout;
  -webkit-animation-duration: 400ms;
  -moz-animation-name: showdoublefadeout;
  -moz-animation-duration: 400ms;
  -ms-animation-name: showdoublefadeout;
  -ms-animation-duration: 400ms;
}

@keyframes showdoublefadeout {
  0%  { opacity: 1; }
  40%  { opacity: 0; }
  70%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-webkit-keyframes showdoublefadeout {
  0%  { opacity: 1; }
  40%  { opacity: 0; }
  70%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-moz-keyframes showdoublefadeout {
  0%  { opacity: 1; }
  40%  { opacity: 0; }
  70%  { opacity: 1; }
  100%  { opacity: 0; }
}

@-ms-keyframes showdoublefadeout {
  0%  { opacity: 1; }
  40%  { opacity: 0; }
  70%  { opacity: 1; }
  100%  { opacity: 0; }
}

/*
 * trackpad.css
 *
 *  Defines style for the trackpad widget.
 */
.ui-dialog {
  padding: 0;
  box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
}

.ui-dialog .ui-dialog-titlebar {
  padding: .8em .8em;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.ui-dialog .ui-dialog-titlebar-close {
  right: .4em;
  margin-top: -11px;
}

.ui-widget-content {
  border: 0;
  background: #ffffff;
  color: #333333;
}

.ui-widget-header a {
  color: #333333;
}

/*
 * Touch sprite is loaded in a single class (as we have disabled caching images).
 * We do this for the iOS case, due to extreme limitations in terms of image size.
 * This form of grouped declaration forces all these definitions to load the same
 * sprite. (This is also loaded upfront for the navbar so its always visible).
 */
.trackpad-wrapper  .ui-dialog-titlebar-close .ui-icon,
.trackpad-wrapper  .ui-dialog-titlebar .ui-dialog-title,
.touch-sprite {
  background-image: url('/assets/img/touch_sprite.png');
}

/* Replace jquery ui title bar close icon. */
.trackpad-wrapper .ui-dialog-titlebar-close {
  margin-top: -9px;
  border: 0 !important;
  background: none !important;
}

.trackpad-wrapper .ui-dialog-titlebar-close {
  margin-top: -11px;
}

/* Background-image is defined along with touch-sprite in 1 place. */
.trackpad-wrapper .ui-dialog-titlebar-close .ui-icon {
  background-position: -9px -239px;
  background-repeat: no-repeat;
}

.trackpad-wrapper .ui-dialog-titlebar-close .ui-icon:active {
  background-position-x: -24px;
  background-repeat: no-repeat;
}

/* The grabber icon indicating the dialog could be moved around */
.trackpad-wrapper .ui-dialog-titlebar .ui-dialog-title {
  background-position: -10px -255px;
  background-repeat: no-repeat;
  width: 40px;
  height: 14px;
  margin: 0 0 0 42%;
}
.trackpad-wrapper .ui-dialog-titlebar .ui-dialog-title:active {
  background-position-x: -52px;
}

.trackpad-wrapper {
  width: 289px !important;  /* As this is less than the default value */
  border: 1px solid #333 !important;
  background: none !important;
  border-radius: 6px;
  box-shadow: 0px 4px 9px rgba(0,0,0,.6);
}

.trackpad-wrapper .ui-dialog-titlebar {
  border-top: 1px solid #ccc;
  border-left: 1px solid #aaa;
  border-right: 1px solid #aaa;
  border-bottom: 0;
  padding: .5em .8em .4em .8em;
  background: rgb(175,176,187); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(175,176,187,.93) 0%,rgba(170,171,182,.93) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(175,176,187,.93) 0%,rgba(170,171,182,.93) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(175,176,187,.93) 0%,rgba(170,171,182,.93) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(175,176,187,.93) 0%,rgba(170,171,182,.93) 100%); /* W3C */
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.trackpad-wrapper .trackpad-container {
  padding: 0 !important;
}

.trackpad-wrapper .left-border {
  background: rgb(170,171,182); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* W3C */
  margin-top: -1px;
  float: left;
  width: 12px;
  height: 209px;
  border: 0;
}

.trackpad-wrapper .touch-area {
  background: rgba(255,255,255,0.8);
  background: -webkit-linear-gradient(-70deg, rgba(255,255,255,0.8) 0%, rgba(238,238,240,0.8) 22%, rgba(210,210,216,0.8) 71%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(-70deg, rgba(255,255,255,0.8) 0%, rgba(238,238,240,0.8) 22%, rgba(210,210,216,0.8) 71%); /* Opera 11.10+ */
  background: -ms-linear-gradient(-70deg, rgba(255,255,255,0.8) 0%, rgba(238,238,240,0.8) 22%, rgba(210,210,216,0.8) 71%); /* IE10+ */
  background: linear-gradient(110deg, rgba(255,255,255,0.8) 0%, rgba(238,238,240,0.8) 22%, rgba(210,210,216,0.8) 71%); /* W3C */
  border: 1px solid #555;
  box-shadow: 0 2px 6px 1px #888 inset;
  float: left;
  width: 263px;
  height: 206px;
}

.trackpad-wrapper .right-border {
  background: rgb(170,171,182); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* W3C */
  margin-top: -1px;
  float: left;
  width: 12px;
  height: 209px;
  border: 0;
 }

.trackpad-wrapper .bottom-border {
  background: rgb(123,123,133); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(123,123,133,.93) 0%,rgba(110,110,119,.93) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(123,123,133,.93) 0%,rgba(110,110,119,.93) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(123,123,133,.93) 0%,rgba(110,110,119,.93) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(123,123,133,.93) 0%,rgba(110,110,119,.93) 100%); /* W3C */
  width: 289px;
  height: 73px;
  margin-top: 208px;
  border: 0;
}

.trackpad-wrapper .button-left, .trackpad-wrapper .button-right {
  background: rgb(255,255,255); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(255,255,255,.7) 0%,rgba(225,225,227,.7) 3%,rgba(204,204,204,.7) 45%,rgba(190,190,195,.7) 96%,rgba(131,131,135,.7) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(255,255,255,.7) 0%,rgba(225,225,227,.7) 3%,rgba(204,204,204,.7) 45%,rgba(190,190,195,.7) 96%,rgba(131,131,135,.7) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(255,255,255,.7) 0%,rgba(225,225,227,.7) 3%,rgba(204,204,204,.7) 45%,rgba(190,190,195,.7) 96%,rgba(131,131,135,.7) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(255,255,255,.7) 0%,rgba(225,225,227,.7) 3%,rgba(204,204,204,.7) 45%,rgba(190,190,195,.7) 96%,rgba(131,131,135,.7) 100%); /* W3C */
  border-radius: 6px;
  box-shadow: 0 2px 5px #333;
  float: left;
  width: 126px;
  height: 47px;
}

.trackpad-wrapper .button-left {
  margin: 12px 0px auto 12px;
}

.trackpad-wrapper .button-right {
  margin: 12px;
}

.trackpad-wrapper .button-left.button-highlight,
.trackpad-wrapper .button-right.button-highlight {
  background: -webkit-linear-gradient(top, rgba(170,171,182,.7) 0%,rgba(123,123,133,.7) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(170,171,182,.7) 0%,rgba(123,123,133,.7) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(170,171,182,.7) 0%,rgba(123,123,133,.7) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(170,171,182,.7) 0%,rgba(123,123,133,.7) 100%); /* W3C */
}

/*
 * extended-keypad.css
 *
 *  Defines style for the virtual keys on the control pane.
 */

.ctrl-pane-wrapper {
  width: 290px !important; /* Needed as the default is a bit larger than this */
  border: 1px solid #333 !important;
  -moz-border-radius: 6px; -webkit-border-radius: 6px; -khtml-border-radius: 6px; border-radius: 6px;
  background: rgb(170,171,182); /* Old browsers */
  background: -webkit-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* IE10+ */
  background: linear-gradient(top, rgba(170,171,182,.93) 0%,rgba(123,123,133,.93) 100%); /* W3C */
}

.fnKey-pane-wrapper {
  width: 427px;
  border: 1px solid #333;
  -moz-border-radius: 6px; -webkit-border-radius: 6px; -khtml-border-radius: 6px; border-radius: 6px;
  background: #c1c4d1; /* Old browsers */
  background: -webkit-linear-gradient(top, #c1c4d1 0%,#b0b1bd 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #c1c4d1 0%,#b0b1bd 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #c1c4d1 0%,#b0b1bd 100%); /* IE10+ */
  background: linear-gradient(top, #c1c4d1 0%, #b0b1bd 100%); /* W3C */
  position: absolute;
  padding: 0;
  -moz-box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
  -webkit-box-shadow: 0px 5px 7px rgba(0,0,0,.5);
  box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
}

.fnKey-pane-wrapper-down {
  width: 427px;
  border: 1px solid #333;
  -moz-border-radius: 6px; -webkit-border-radius: 6px; -khtml-border-radius: 6px; border-radius: 6px;
  background: #6e6e77; /* Old browsers */
  background: -webkit-linear-gradient(top,  #6e6e77 0%,#656565 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #6e6e77 0%,#656565 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #6e6e77 0%,#656565 100%); /* IE10+ */
  background: linear-gradient(top, #6e6e77 0%, #656565 100%); /* W3C */
  position: absolute;
  padding: 0;
  -moz-box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
  -webkit-box-shadow: 0px 5px 7px rgba(0,0,0,.5);
  box-shadow: 0px 5px 7px  rgba(0,0,0,.5);
}

/* Hide jquery ui title bar. */
.ctrl-pane-wrapper .ui-dialog-titlebar {
  border-top: 1px solid #ccc;
  border-left: 1px solid #aaa;
  border-right: 1px solid #aaa;
  border-bottom: 0;
  padding: .6em .8em 0 .8em;
  background: none !important;
  -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -khtml-border-top-left-radius: 5px; border-top-left-radius: 5px;
  -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -khtml-border-top-right-radius: 5px; border-top-right-radius: 5px;
}

/* Replace jquery ui title bar close icon. */
.ctrl-pane-wrapper .ui-dialog-titlebar-close {
  margin-top: -9px;
  border: 0 !important;
  background: none !important;
}

/* Background-image is defined along with touch-sprite in 1 place. */
.ctrl-pane-wrapper .ui-dialog-titlebar-close .ui-icon {
  background-position: -9px -239px;
  background-repeat: no-repeat;
}

.ctrl-pane-wrapper .ui-dialog-titlebar-close .ui-icon:active {
  background-position-x: -24px;
  background-repeat: no-repeat;
}

/* The grabber icon indicating the dialog could be moved around */
.ctrl-pane-wrapper .ui-dialog-titlebar .ui-dialog-title {
  background-position: -10px -255px;
  background-repeat: no-repeat;
  width: 40px;
  height: 14px;
  margin: 0 0 0 42%;
}

.ctrl-pane-wrapper .ui-dialog-titlebar .ui-dialog-title:active {
  background-position-x: -52px;
}

.ctrl-pane-wrapper .ui-dialog-content {
  background: none !important;
  padding: 0 0;
  border-style: solid;
  border-color: #aaaaaa;
  border-width: 0 1px 1px 1px;
  -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -khtml-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;
  -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;
}

.fnKey-inner-border-helper {
  position: relative;
  background: none !important;
  border-style: solid;
  border-color: #d5d5d5;
  border-width: 1px;
  -moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; border-radius: 5px;
  pointer-events:none;
}

.ctrl-pane-wrapper .ctrl-pane {
  padding: 3px 0 3px 6px;
  height: 140px;
  width: 280px;
}

.ctrl-pane .baseKey {
  float: left;
  border: 0;
  padding: 0;
  width: 57px;
  height: 57px;
  margin: 6px;
  -moz-border-radius: 6px; -webkit-border-radius: 6px; -khtml-border-radius: 6px; border-radius: 6px;
  font-family: "HelveticaNeue", "Helvetica Neue", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHeros', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
  font-size: 18px;
  text-shadow: 0 1px 1px #eeeeee;
  -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .7);
  -webkit-box-shadow: 0px 1px 3px rgba(0,0,0,.7);
  box-shadow: 0px 1px 3px  rgba(0,0,0,.7);
}

.ctrl-pane .ctrl-key-top-row {
  background: -webkit-linear-gradient(top, #fff 0%,#f3f5fb 2%,#d2d2d8 98%,#999 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #fff 0%,#f3f5fb 2%,#d2d2d8 98%,#999 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #fff 0%,#f3f5fb 2%,#d2d2d8 98%,#999 100%); /* IE10+ */
  background: linear-gradient(top, #fff 0%,#f3f5fb 2%,#d2d2d8 98%,#999 100%); /* W3C */
}

.ctrl-pane .ctrl-key-bottom-row {
  background: -webkit-linear-gradient(top, #fff 0%,#e1e1e3 2%,#d1d1d4 50%,#bebec3 98%,#838387 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #fff 0%,#e1e1e3 2%,#d1d1d4 50%,#bebec3 98%,#838387 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #fff 0%,#e1e1e3 2%,#d1d1d4 50%,#bebec3 98%,#838387 100%); /* IE10+ */
  background: linear-gradient(top, #fff 0%,#e1e1e3 2%,#d1d1d4 50%,#bebec3 98%,#838387 100%); /* W3C */
}

.ctrl-pane .up-position .fn-key-top-row {
  color:#333;
  background: #ffffff; /* Old browsers */
  background: -webkit-linear-gradient(top, #ffffff 0%,#f7f7f7 2%,#dcdde3 96%,#999999 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%,#f7f7f7 2%,#dcdde3 96%,#999999 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%,#f7f7f7 2%,#dcdde3 96%,#999999 100%); /* IE10+ */
  background: linear-gradient(top, #ffffff 0%,#f7f7f7 2%,#dcdde3 96%,#999999 100%); /* W3C */
}

.ctrl-pane .up-position .fn-key-bottom-row {
  color:#333;
  background: #ffffff; /* Old browsers */
  background: -webkit-linear-gradient(top, #ffffff 0%,#f3f5fb 2%,#d2d2d8 98%,#999999 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%,#f3f5fb 2%,#d2d2d8 98%,#999999 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%,#f3f5fb 2%,#d2d2d8 98%,#999999 100%); /* IE10+ */
  background: linear-gradient(top, #ffffff 0%,#f3f5fb 2%,#d2d2d8 98%,#999999 100%); /* W3C */
}

.ctrl-pane .down-position .fn-key-top-row {
  color:#333;
  background: #ffffff; /* Old browsers */
  background: -webkit-linear-gradient(top, #ffffff 0%,#e1e1e3 4%,#d1d1d4 45%,#b7b8bd 98%,#838387 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%,#e1e1e3 4%,#d1d1d4 45%,#b7b8bd 98%,#838387 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%,#e1e1e3 4%,#d1d1d4 45%,#b7b8bd 98%,#838387 100%); /* IE10+ */
  background: linear-gradient(top, #ffffff 0%,#e1e1e3 4%,#d1d1d4 45%,#b7b8bd 98%,#838387 100%); /* W3C */
}

.ctrl-pane .down-position .fn-key-bottom-row {
  color:#333;
  background: #ffffff; /* Old browsers */
  background: -webkit-linear-gradient(top, #ffffff 0%,#d9dadd 4%,#c8c8cd 45%,#b0b0b7 98%,#838387 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%,#d9dadd 4%,#c8c8cd 45%,#b0b0b7 98%,#838387 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%,#d9dadd 4%,#c8c8cd 45%,#b0b0b7 98%,#838387 100%); /* IE10+ */
  background: linear-gradient(top, #ffffff 0%,#d9dadd 4%,#c8c8cd 45%,#b0b0b7 98%,#838387 100%); /* W3C */
}

.ctrl-pane .fn-key-top-row {
  margin: 12px 6px 6px 6px;
}

.ctrl-pane .border-key-top-left .fn-key-top-row {
  margin: 12px 6px 6px 12px;
}

.ctrl-pane .border-key-top-right .fn-key-top-row {
  margin: 12px 12px 6px 6px;
}

.ctrl-pane .fn-key-bottom-row {
  margin: 5px 6px 12px 6px;
}

.ctrl-pane .border-key-bottom-left .fn-key-bottom-row {
  margin: 5px 6px 12px 12px;
}

.ctrl-pane .border-key-bottom-right .fn-key-bottom-row {
  margin: 5px 12px 12px 6px;
}

.ctrl-pane .ctrl-key-top-row:active, .ctrl-pane .fn-key-top-row:active,
.ctrl-pane .ctrl-key-bottom-row:active, .ctrl-pane .fn-key-bottom-row:active {
  background: #bbbbbb;
  background: -webkit-linear-gradient(bottom, #888888 25%, #CCCCCC 68%);
  background:  -ms-linear-gradient(bottom, #888888 25%, #CCCCCC 68%);
  background:  -o-linear-gradient(bottom, #888888 25%, #CCCCCC 68%);
  background:  linear-gradient(bottom, #888888 25%, #CCCCCC 68%);
}

.ctrl-pane .ctrl-key-top-row div, .ctrl-pane .ctrl-key-bottom-row div,
.ctrl-pane .fn-key-top-row div, .ctrl-pane .fn-key-bottom-row div {
  width: 100%;
  text-align: center;
  padding-top: 17px;
  overflow-x: hidden;
}

/* Highlight selected modifier key */
.ctrl-pane .ab-modifier-key-down {
  color: #4D8DFF;
}

.ctrl-pane .baseKey img { /* use .touch-sprite for image */
  background-repeat: no-repeat;
  width: 57px;
  height: 57px;
  border: 0;
  -moz-border-radius: 6px; -webkit-border-radius: 6px; -khtml-border-radius: 6px; border-radius: 6px;
}

.ctrl-pane .baseKey .right-arrow {
  background-position: -242px -182px;
}

.ctrl-pane .baseKey .left-arrow {
  background-position: -126px -182px;
}

.ctrl-pane .baseKey .up-arrow {
  background-position: -299px -182px;
}

.ctrl-pane .baseKey .down-arrow {
  background-position: -183px -182px;
}

.ctrl-pane .baseKey .more-keys {
  background-position: -10px -182px;
}

/* Ctrl - pane flip transition. */
.ctrl-pane.flip-container {
  perspective: 1000;
  -webkit-perspective: 1000;
  -moz-perspective: 1000;
  -ms-perspective: 1000;
}

  /* flip the ctrl-pane when this class toggles. */
.flip-container.perform-flip .flipper {
  transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
}

/* flip speed goes here */
.flip-container .flipper {
  transition: 0.6s;
  transform-style: preserve-3d;
  -webkit-transition: 0.6s;
  -webkit-transform-style: preserve-3d;
  -moz-transition: 0.6s;
  -moz-transform-style: preserve-3d;
  -ms-transition: 0.6s;
  -ms-transform-style: preserve-3d;
  position: relative;
}

/* hide back of pane during swap */
.flip-container .front, .flip-container .back {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

/* front pane, placed above back */
.flip-container .front {
  z-index: 200;
}

/* back, initially hidden pane */
.flip-container .back {
  transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
}
