.game-panel {
  position: relative;
  margin: 10px auto 0;
  padding: 10px 15px 15px 15px;
  border-radius: 5px;
  background: #050505;
  color: #fff;
  overflow: hidden;
  max-width: 1200px; }
  .game-panel.onboarding {
    border-radius: 0;
    margin: 0 auto 15px auto;
    background: #111; }
  .game-panel[compare='on'] {
    background: #222; }
    .game-panel[compare='on'] .game-panel-header .game-panel-compare {
      display: block; }
    .game-panel[compare='on'] .game-panel-body {
      background: #000; }
  .game-panel .game-panel-header {
    position: relative;
    height: 45px;
    margin-bottom: 10px; }
    .game-panel .game-panel-header .game-panel-header-element {
      color: #eee;
      font-size: 20px; }
      .game-panel .game-panel-header .game-panel-header-element > div {
        font-size: 12px;
        color: #ccc; }
    .game-panel .game-panel-header .game-panel-lives {
      position: absolute;
      right: 0;
      top: 0;
      text-align: right; }
      .game-panel .game-panel-header .game-panel-lives i.fa {
        padding: 0 2px; }
    .game-panel .game-panel-header .game-panel-points {
      position: absolute;
      left: 0;
      top: 0;
      text-align: left; }
    .game-panel .game-panel-header .stageFeedback {
      position: absolute;
      left: 50%;
      top: 0;
      width: 140px;
      text-align: center;
      margin-left: -70px; }
    .game-panel .game-panel-header .game-panel-compare {
      font-size: 16px;
      position: absolute;
      right: 0;
      top: 0;
      text-align: center;
      z-index: 2;
      width: 100%;
      height: 56px;
      padding: 12px;
      background: #050505;
      display: none; }
  .game-panel .game-panel-footer {
    position: relative;
    margin-top: 15px;
    height: 30px; }
    .game-panel .game-panel-footer .game-settings-btns {
      position: absolute;
      right: 0;
      top: 0;
      text-align: left; }
      .game-panel .game-panel-footer .game-settings-btns button {
        border: none;
        background: #444;
        color: #999;
        width: 35px;
        border-radius: 2px;
        line-height: 28px;
        font-size: 14px !important; }
        .game-panel .game-panel-footer .game-settings-btns button:focus {
          outline: none; }
        .game-panel .game-panel-footer .game-settings-btns button:hover {
          background: #555; }
        .game-panel .game-panel-footer .game-settings-btns button[compare-is-active="yes"] {
          color: #fff;
          text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff; }
    .game-panel .game-panel-footer .game-main-btns {
      position: absolute;
      left: 50%;
      top: -2px;
      text-align: center;
      width: 330px;
      margin-left: -165px;
      font-size: 0; }
      .game-panel .game-panel-footer .game-main-btns button {
        position: relative;
        border: none;
        width: 130px;
        line-height: 32px;
        margin: 0 5px;
        font-size: 15px !important;
        background: #444;
        color: #eee; }
        .game-panel .game-panel-footer .game-main-btns button.disabled {
          color: #111; }
        .game-panel .game-panel-footer .game-main-btns button:focus {
          outline: none; }
  .game-panel .game-panel-icon-img {
    width: 30px;
    border-radius: 2px;
    margin-right: 10px; }
  .game-panel .game-panel-body {
    position: relative;
    background: #222;
    z-index: 1; }
    .game-panel .game-panel-body #stepPoints {
      position: absolute;
      left: 20px;
      top: 20px;
      z-index: 3;
      font-size: 15px; }
    .game-panel .game-panel-body .game-continue-btns {
      position: absolute;
      left: 50%;
      bottom: -46px;
      text-align: center;
      width: 280px;
      margin-left: -140px;
      z-index: 1; }
      .game-panel .game-panel-body .game-continue-btns[show="no"] {
        display: none; }
    .game-panel .game-panel-body .game-compare-panel {
      position: absolute;
      left: 50%;
      bottom: 0;
      text-align: center;
      width: 280px;
      margin-left: -140px;
      z-index: 1;
      background: #050505;
      height: 50px;
      border-top-left-radius: 30px;
      border-top-right-radius: 30px; }
      .game-panel .game-panel-body .game-compare-panel[show="no"] {
        display: none; }
      .game-panel .game-panel-body .game-compare-panel .game-compare-panel-btn {
        position: absolute;
        left: 20px;
        top: 16px;
        z-index: 3; }
      .game-panel .game-panel-body .game-compare-panel .game-compare-panel-meter {
        position: absolute;
        right: 20px;
        top: 7px;
        z-index: 3; }
    .game-panel .game-panel-body .game-helper-panel, .game-panel .game-panel-body .game-helper-back-panel {
      position: absolute;
      left: 50%;
      bottom: 0;
      text-align: center;
      width: 160px;
      margin-left: -80px;
      z-index: 1;
      background: #050505;
      height: 50px;
      border-top-left-radius: 30px;
      border-top-right-radius: 30px; }
      .game-panel .game-panel-body .game-helper-panel .helper-label, .game-panel .game-panel-body .game-helper-back-panel .helper-label {
        font-size: 13px;
        color: #999;
        position: absolute;
        top: 4px;
        text-align: center;
        width: 100%; }
      .game-panel .game-panel-body .game-helper-panel .game-helper-back-panel-btn, .game-panel .game-panel-body .game-helper-back-panel .game-helper-back-panel-btn {
        border: none;
        background: none;
        z-index: 3;
        color: #999;
        font-size: 22px;
        line-height: 30px;
        padding-top: 12px;
        outline: none;
        font-size: 16px; }
      .game-panel .game-panel-body .game-helper-panel .game-helper-panel-btn, .game-panel .game-panel-body .game-helper-back-panel .game-helper-panel-btn {
        border: none;
        background: none;
        z-index: 3;
        color: #999;
        font-size: 22px;
        line-height: 30px;
        padding-top: 20px;
        outline: none; }
        .game-panel .game-panel-body .game-helper-panel .game-helper-panel-btn small, .game-panel .game-panel-body .game-helper-back-panel .game-helper-panel-btn small {
          font-size: 13px; }
        .game-panel .game-panel-body .game-helper-panel .game-helper-panel-btn:focus, .game-panel .game-panel-body .game-helper-back-panel .game-helper-panel-btn:focus {
          outline: none; }
        .game-panel .game-panel-body .game-helper-panel .game-helper-panel-btn:hover, .game-panel .game-panel-body .game-helper-back-panel .game-helper-panel-btn:hover {
          color: #fff; }
          .game-panel .game-panel-body .game-helper-panel .game-helper-panel-btn:hover .helper-label, .game-panel .game-panel-body .game-helper-back-panel .game-helper-panel-btn:hover .helper-label {
            color: #999; }
      .game-panel .game-panel-body .game-helper-panel[show="no"], .game-panel .game-panel-body .game-helper-back-panel[show="no"] {
        display: none; }
    .game-panel .game-panel-body .game-panel-body-question {
      text-align: center;
      overflow: hidden;
      height: 180px;
      position: relative; }
      .game-panel .game-panel-body .game-panel-body-question .titlebox {
        position: absolute;
        top: 10px;
        width: 100%;
        height: 25px;
        font-size: 18px;
        text-align: center; }
      .game-panel .game-panel-body .game-panel-body-question .question-title {
        position: absolute;
        top: 30px;
        width: 100%;
        height: 25px;
        font-size: 24px;
        text-align: center; }
      .game-panel .game-panel-body .game-panel-body-question [show="no"] {
        display: none; }
      .game-panel .game-panel-body .game-panel-body-question .abcjs-v0, .game-panel .game-panel-body .game-panel-body-question .abcjs-v1 {
        fill: #eee; }
      .game-panel .game-panel-body .game-panel-body-question .abcjs-triplet {
        stroke: #eee; }
      .game-panel .game-panel-body .game-panel-body-question .abcjs-staff, .game-panel .game-panel-body .game-panel-body-question .abcjs-bar {
        fill: #666; }
      .game-panel .game-panel-body .game-panel-body-question .abcjs-tempo {
        font-size: 13px !important;
        fill: #666; }
      .game-panel .game-panel-body .game-panel-body-question .sheet-rhythm .abcjs-staff {
        fill: #999; }
      .game-panel .game-panel-body .game-panel-body-question .sheet-rhythm .abcjs-note[passed="yes"] {
        fill: #69AF73 !important; }
      .game-panel .game-panel-body .game-panel-body-question .sheet-rhythm .abcjs-note[passed="no"] {
        fill: #D94E49 !important; }
      .game-panel .game-panel-body .game-panel-body-question .intervals-singing-helper {
        position: absolute;
        right: 10px;
        top: 10px;
        z-index: 1; }
      .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question {
        margin-top: 20px;
        font-size: 20px;
        height: 44px;
        line-height: 24px;
        color: #999; }
        .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question .interval-singing-interval {
          color: #fff; }
        .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question .interval-singing-root {
          cursor: pointer;
          background: #444;
          border-radius: 5px;
          padding: 2px 8px;
          color: #eee; }
          .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question .interval-singing-root:hover {
            background: #555;
            color: #fff; }
          .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question .interval-singing-root[state="playing"] {
            color: #fff;
            text-shadow: 0 0 6px #fff; }
          .game-panel .game-panel-body .game-panel-body-question .intervals-singing-question .interval-singing-root[inactive="yes"] {
            background: transparent;
            cursor: default; }
      .game-panel .game-panel-body .game-panel-body-question .intervals-singing-answer {
        font-size: 20px;
        height: 64px;
        line-height: 24px; }
        .game-panel .game-panel-body .game-panel-body-question .intervals-singing-answer[feedback="none"] {
          font-size: 15px;
          color: #777; }
        .game-panel .game-panel-body .game-panel-body-question .intervals-singing-answer[feedback="correct"] {
          color: #69AF73; }
        .game-panel .game-panel-body .game-panel-body-question .intervals-singing-answer[feedback="wrong"] {
          color: #D94E49; }
      .game-panel .game-panel-body .game-panel-body-question .melody-singing {
        font-size: 0;
        vertical-align: middle;
        margin-top: 15px; }
        .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box {
          width: 38px;
          height: 38px;
          line-height: 36px;
          text-align: center;
          vertical-align: middle;
          display: inline-block;
          color: #999;
          font-size: 18px;
          margin: 0 1px; }
          .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box sub, .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box sup {
            color: #999; }
          .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box.melody-singing-box-interval {
            border-bottom: 1px solid #999;
            font-size: 16px; }
          .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[playing="yes"] {
            color: #fff;
            text-shadow: 0 0 10px #fff; }
          .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="correct"] {
            color: #69AF73; }
            .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="correct"] sub, .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="correct"] sup {
              color: #69AF73; }
          .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="wrong"] {
            color: #D94E49; }
            .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="wrong"] sub, .game-panel .game-panel-body .game-panel-body-question .melody-singing .melody-singing-box[feedback="wrong"] sup {
              color: #D94E49; }
    .game-panel .game-panel-body .game-panel-body-answer {
      margin-top: 10px;
      text-align: center;
      background: #555; }
  .game-panel .game-panel-feedback .game-cover {
    display: none;
    background: #050505;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    z-index: 2;
    text-align: center;
    padding: 15px; }
    .game-panel .game-panel-feedback .game-cover.active {
      display: block; }
    .game-panel .game-panel-feedback .game-cover > div {
      padding-top: 25px;
      position: relative; }
    .game-panel .game-panel-feedback .game-cover .game-panel-title {
      font-size: 20px;
      color: #fff; }
    .game-panel .game-panel-feedback .game-cover .game-panel-text {
      font-size: 16px;
      color: #ccc; }
    .game-panel .game-panel-feedback .game-cover .game-panel-small {
      font-size: 14px;
      color: #ccc; }
    .game-panel .game-panel-feedback .game-cover .game-panel-cover-btn {
      margin: 15px 0 5px;
      cursor: pointer; }
  .game-panel .game-panel-feedback .game-cleared.game-cover, .game-panel .game-panel-feedback .game-over.game-cover {
    background: rgba(0, 0, 0, 0.85); }
  .game-panel .game-panel-inactive {
    display: none;
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3; }
    .game-panel .game-panel-inactive.active {
      display: table; }

.life-ring-btn {
  border: none;
  background: #444;
  border-radius: 2px;
  padding: 0 8px;
  color: #999;
  line-height: 30px;
  outline: none; }
  .life-ring-btn[active="yes"]:hover {
    background: #555; }
  .life-ring-btn[active="no"] {
    cursor: default;
    opacity: .4; }

.sheetbox {
  margin-top: -10px; }
  .sheetbox path {
    fill: #eee !important; }

.rhythm-question {
  position: relative;
  margin: 10px 0;
  padding: 10px 0; }
  .rhythm-question[rhythm-question="reading"] {
    height: 250px; }
  .rhythm-question[rhythm-question="listening"] {
    height: 280px; }
  .rhythm-question .rhythm-input-feedback {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 5px;
    width: 100%;
    height: 168px;
    top: 0;
    left: 0;
    position: absolute;
    cursor: pointer;
    transition: all .1s ease; }
    .rhythm-question .rhythm-input-feedback .rhythm-led {
      color: #999;
      position: absolute;
      right: 15px;
      top: 15px;
      font-size: 36px;
      text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000;
      opacity: 0; }
    .rhythm-question .rhythm-input-feedback:hover {
      background: rgba(0, 0, 0, 0.04); }
    .rhythm-question .rhythm-input-feedback[state="on"] .rhythm-led {
      color: #7B7CBB;
      opacity: 1; }
  .rhythm-question .sheet-rhythm {
    display: inline-block;
    height: 135px;
    overflow: hidden;
    position: relative; }
    .rhythm-question .sheet-rhythm .sheet-rhythm-notation {
      margin: 0; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation[show="no"] {
        display: none; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation path.abcjs-v1 {
        fill: transparent !important; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation path.abcjs-bar {
        fill: #666; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation path.abcjs-staff {
        fill: none; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation.melody-notation path.abcjs-staff {
        fill: #666 !important; }
      .rhythm-question .sheet-rhythm .sheet-rhythm-notation path.abcjs-staff:nth-child(3) {
        fill: #666; }

.rhythm-beatbox {
  width: 350px;
  margin: 20px auto 0;
  position: relative;
  font-size: 0;
  text-align: left; }
  .rhythm-beatbox [target], .rhythm-beatbox [hit] {
    top: 0;
    width: 10px;
    margin-left: -5px;
    position: absolute;
    font-size: 8px;
    line-height: 30px;
    color: #eee;
    text-align: center; }
    .rhythm-beatbox [target][state="wrong"], .rhythm-beatbox [hit][state="wrong"] {
      color: #DC504A; }
    .rhythm-beatbox [target][state="correct"], .rhythm-beatbox [hit][state="correct"] {
      color: #69AF73; }
  .rhythm-beatbox[rhythm-reading-view] [target] {
    top: 5px; }
  .rhythm-beatbox[rhythm-reading-view] [hit] {
    top: -5px; }
  .rhythm-beatbox .bar {
    box-shadow: 0 0 0 1px #000;
    margin: 0;
    padding: 0;
    display: inline-block; }
  .rhythm-beatbox .rhythm-beat {
    height: 34px;
    width: 30px;
    display: inline-block;
    transition: all .2s ease-in-out;
    box-shadow: 0 0 0 1px #000; }
    .rhythm-beatbox .rhythm-beat[state="low"] {
      background: #9797CB !important; }
    .rhythm-beatbox .rhythm-beat[state="high"] {
      background: #7B7CBB !important; }
  .rhythm-beatbox .rhythm-beatbox-line {
    position: relative;
    height: 34px; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-label {
      position: absolute;
      top: 0;
      width: 40px;
      font-size: 12px;
      line-height: 34px;
      color: #ccc;
      background: #444;
      box-shadow: 0 0 0 1px #000;
      text-align: center; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-beats {
      margin-left: 40px; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-content {
      position: relative; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-icon {
      margin: -3px 0 0 3px; }
  .rhythm-beatbox .rhythm-beatbox-intro .rhythm-beat, .rhythm-beatbox .rhythm-beatbox-wait .rhythm-beat {
    background: #222; }
  .rhythm-beatbox .rhythm-beatbox-original .rhythm-beat {
    background: #151515; }
  .rhythm-beatbox .rhythm-beatbox-yours .rhythm-beat {
    background: #151515; }

.melody-question {
  position: relative;
  height: 176px;
  margin-bottom: 10px; }
  .melody-question .melody-instructions {
    text-align: center;
    width: 100%;
    height: 30px;
    padding-top: 12px; }
    .melody-question .melody-instructions span {
      display: none;
      color: #ccc;
      font-size: 14px; }
      .melody-question .melody-instructions span[wrong] {
        color: #DC504A; }
      .melody-question .melody-instructions span[correct] {
        color: #69AF73; }
  .melody-question .melody-beatbox {
    width: 300px;
    margin: 10px auto;
    position: relative;
    font-size: 0;
    text-align: left; }
    .melody-question .melody-beatbox .melody-beat {
      height: 34px;
      width: 30px;
      font-size: 14px;
      text-align: center;
      line-height: 34px;
      display: inline-block;
      transition: all .2s ease-in-out;
      box-shadow: inset 0 0 1px 0 #000; }
      .melody-question .melody-beatbox .melody-beat sup {
        font-size: 14px; }
      .melody-question .melody-beatbox .melody-beat[state="click"] {
        background: #5bc0de !important; }
      .melody-question .melody-beatbox .melody-beat[feedback="wrong"] {
        background: #D94E49 !important;
        color: #fff; }
      .melody-question .melody-beatbox .melody-beat[feedback="correct"] {
        background: #69AF73 !important;
        color: #fff; }
    .melody-question .melody-beatbox .melody-beatbox-line {
      position: relative;
      height: 34px; }
      .melody-question .melody-beatbox .melody-beatbox-line .melody-beatbox-label {
        position: absolute;
        top: 0;
        width: 30px;
        padding: 0 6px;
        font-size: 12px;
        line-height: 34px;
        color: #ccc;
        background: #444;
        box-shadow: 0 0 0 1px #000;
        text-align: center; }
      .melody-question .melody-beatbox .melody-beatbox-line .melody-beatbox-beats {
        margin-left: 30px; }
      .melody-question .melody-beatbox .melody-beatbox-line .melody-beatbox-content {
        position: relative; }
      .melody-question .melody-beatbox .melody-beatbox-line .melody-beatbox-icon {
        margin: -3px 0 0 3px; }
    .melody-question .melody-beatbox .melody-beatbox-intro .melody-beat, .melody-question .melody-beatbox .melody-beatbox-wait .melody-beat {
      background: #222;
      box-shadow: 0 0 0 1px #000; }
    .melody-question .melody-beatbox .melody-beatbox-original .melody-beat, .melody-question .melody-beatbox .melody-beatbox-yours .melody-beat {
      background: #151515;
      box-shadow: 0 0 0 1px #000; }

#countdown-modal span {
  font-size: 60px;
  -webkit-animation: burst 1.5s;
  animation: burst 1.5s; }

.answer-panel {
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 8px;
  position: relative;
  overflow: hidden; }
  .answer-panel .answer-button-div {
    float: left;
    display: table;
    padding: 5px;
    height: 100%; }
    .answer-panel .answer-button-div.answer-button-div-50 {
      width: 50%; }
    .answer-panel .answer-button-div.answer-button-div-33 {
      width: 33%; }
  .answer-panel .answer {
    background: #888;
    border-color: #888;
    color: #777;
    width: 100%;
    height: 100%; }
    .answer-panel .answer[compare="play"] {
      box-shadow: 0 0 6px 2px #000; }
    .answer-panel .answer.answer-no-bg {
      background: transparent;
      border-color: transparent;
      color: transparent; }
    .answer-panel .answer[state="play"], .answer-panel .answer[state="hover"] {
      background: #666;
      border-color: #666;
      color: #fff; }
    .answer-panel .answer[state="correct"] {
      background: #69AF73 !important;
      border-color: #fff;
      color: #fff; }
    .answer-panel .answer[state="wrong"] {
      background: #D94E49 !important;
      border-color: #fff;
      color: #fff; }
    .answer-panel .answer .play-btn {
      position: relative;
      cursor: pointer;
      font-size: 16px;
      height: 87px;
      background: rgba(0, 0, 0, 0.3); }
      .answer-panel .answer .play-btn i {
        font-size: 45px;
        line-height: 87px; }
    .answer-panel .answer .answer-listen-btn {
      cursor: pointer;
      font-size: 16px;
      height: 87px;
      line-height: 87px;
      background: rgba(0, 0, 0, 0.4); }
      .answer-panel .answer .answer-listen-btn i {
        line-height: 87px;
        font-size: 45px;
        color: #fff; }
    .answer-panel .answer .answer-detailed-btn {
      position: relative;
      cursor: pointer;
      font-size: 16px;
      line-height: 20px;
      height: 174px;
      background: rgba(0, 0, 0, 0.5);
      color: #aaa; }
      .answer-panel .answer .answer-detailed-btn .visual {
        height: 73px;
        padding-top: 25px; }
        .answer-panel .answer .answer-detailed-btn .visual img {
          border-radius: 3px;
          width: 80px; }
        .answer-panel .answer .answer-detailed-btn .visual i {
          line-height: 40px;
          font-size: 40px;
          color: #fff; }
      .answer-panel .answer .answer-detailed-btn .title {
        font-size: 18px;
        color: #eee;
        line-height: 24px; }
    .answer-panel .answer .answer-simple-btn {
      height: 174px;
      cursor: pointer;
      background: rgba(0, 0, 0, 0.5);
      color: #aaa; }
      .answer-panel .answer .answer-simple-btn .answer-btn-value {
        padding-top: 60px;
        font-weight: bold;
        font-size: 25px;
        color: #fff;
        line-height: 174px; }
      .answer-panel .answer .answer-simple-btn .answer-btn-prefix {
        font-size: 16px;
        color: #aaa; }
      .answer-panel .answer .answer-simple-btn i {
        line-height: 174px;
        font-size: 40px; }
  .answer-panel.answer-panel-lower .answer .play-btn {
    height: 60px; }
    .answer-panel.answer-panel-lower .answer .play-btn i {
      font-size: 35px;
      line-height: 60px; }
    .answer-panel.answer-panel-lower .answer .play-btn div {
      font-size: 16px;
      padding-top: 15px; }
  .answer-panel.answer-panel-lower .answer .answer-listen-btn {
    height: 60px;
    line-height: 60px; }
    .answer-panel.answer-panel-lower .answer .answer-listen-btn i {
      font-size: 20px;
      line-height: 60px; }

.console {
  position: relative;
  text-align: center;
  margin-top: 10px; }

body {
  background: #eee;
  padding-top: 0 !important; }

.compare-btn {
  border: none;
  background: #333;
  border-radius: 13px;
  font-size: 12px; }
  .compare-btn:focus {
    outline: none; }
  .compare-btn span {
    display: inline-block;
    line-height: 24px;
    height: 24px;
    color: #999;
    padding: 0 10px; }
  .compare-btn[side="left"] span[left] {
    color: #fff;
    text-shadow: 2px 2px 2px #000; }
  .compare-btn[side="right"] span[right] {
    color: #fff;
    text-shadow: 2px 2px 2px #000; }

#lives {
  font-size: 20px; }
  #lives i {
    min-width: 22px; }

.btn-submit {
  border: none;
  background: #000;
  border-radius: 3px;
  font-size: 14px;
  line-height: 18px;
  padding: 10px 15px;
  text-shadow: 1px 1px 1px #000;
  color: #eee; }
  .btn-submit:focus {
    outline: none; }
  .btn-submit[state="wrong"] {
    background: #d68a20; }

.melody-feedback {
  position: relative;
  width: 240px;
  height: 148px;
  margin: 15px auto; }
  .melody-feedback .melody-point {
    position: absolute;
    height: 15px;
    width: 15px; }
    .melody-feedback .melody-point[row="12"] {
      top: 0; }
    .melody-feedback .melody-point[row="11"] {
      top: 6px; }
    .melody-feedback .melody-point[row="10"] {
      top: 12px; }
    .melody-feedback .melody-point[row="9"] {
      top: 18px; }
    .melody-feedback .melody-point[row="8"] {
      top: 24px; }
    .melody-feedback .melody-point[row="7"] {
      top: 30px; }
    .melody-feedback .melody-point[row="6"] {
      top: 36px; }
    .melody-feedback .melody-point[row="5"] {
      top: 42px; }
    .melody-feedback .melody-point[row="4"] {
      top: 48px; }
    .melody-feedback .melody-point[row="3"] {
      top: 54px; }
    .melody-feedback .melody-point[row="2"] {
      top: 60px; }
    .melody-feedback .melody-point[row="1"] {
      top: 66px; }
    .melody-feedback .melody-point[row="0"] {
      top: 72px; }
    .melody-feedback .melody-point[row="-1"] {
      top: 78px; }
    .melody-feedback .melody-point[row="-2"] {
      top: 84px; }
    .melody-feedback .melody-point[row="-3"] {
      top: 90px; }
    .melody-feedback .melody-point[row="-4"] {
      top: 96px; }
    .melody-feedback .melody-point[row="-5"] {
      top: 102px; }
    .melody-feedback .melody-point[row="-6"] {
      top: 106px; }
    .melody-feedback .melody-point[row="-7"] {
      top: 112px; }
    .melody-feedback .melody-point[row="-8"] {
      top: 118px; }
    .melody-feedback .melody-point[row="-9"] {
      top: 124px; }
    .melody-feedback .melody-point[row="-10"] {
      top: 130px; }
    .melody-feedback .melody-point[row="-11"] {
      top: 136px; }
    .melody-feedback .melody-point[row="-12"] {
      top: 142px; }
    .melody-feedback .melody-point[col="1"] {
      left: 0; }
    .melody-feedback .melody-point[col="2"] {
      left: 15px; }
    .melody-feedback .melody-point[col="3"] {
      left: 30px; }
    .melody-feedback .melody-point[col="4"] {
      left: 45px; }
    .melody-feedback .melody-point[col="5"] {
      left: 60px; }
    .melody-feedback .melody-point[col="6"] {
      left: 75px; }
    .melody-feedback .melody-point[col="7"] {
      left: 90px; }
    .melody-feedback .melody-point[col="8"] {
      left: 105px; }
    .melody-feedback .melody-point[col="9"] {
      left: 120px; }
    .melody-feedback .melody-point[col="10"] {
      left: 135px; }
    .melody-feedback .melody-point[col="11"] {
      left: 150px; }
    .melody-feedback .melody-point[col="12"] {
      left: 165px; }
    .melody-feedback .melody-point[col="13"] {
      left: 180px; }
    .melody-feedback .melody-point[col="14"] {
      left: 195px; }
    .melody-feedback .melody-point[col="15"] {
      left: 210px; }
    .melody-feedback .melody-point[col="16"] {
      left: 225px; }
    .melody-feedback .melody-point[leng="1"] {
      width: 15px; }
    .melody-feedback .melody-point[leng="2"] {
      width: 30px; }
    .melody-feedback .melody-point[leng="3"] {
      width: 45px; }
    .melody-feedback .melody-point[leng="4"] {
      width: 60px; }
    .melody-feedback .melody-point[leng="5"] {
      width: 75px; }
    .melody-feedback .melody-point[leng="6"] {
      width: 90px; }
    .melody-feedback .melody-point[leng="7"] {
      width: 105px; }
    .melody-feedback .melody-point[leng="8"] {
      width: 120px; }
  .melody-feedback .melody-placeholders .melody-placeholder {
    position: absolute;
    height: 148px;
    width: 15px;
    background: #050505;
    top: 0; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="1"] {
      left: 0; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="2"] {
      left: 15px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="3"] {
      left: 30px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="4"] {
      left: 45px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="5"] {
      left: 60px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="6"] {
      left: 75px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="7"] {
      left: 90px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="8"] {
      left: 105px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="9"] {
      left: 120px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="10"] {
      left: 135px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="11"] {
      left: 150px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="12"] {
      left: 165px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="13"] {
      left: 180px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="14"] {
      left: 195px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="15"] {
      left: 210px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="16"] {
      left: 225px; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="1"], .melody-feedback .melody-placeholders .melody-placeholder[col="9"] {
      background: #353535; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="5"], .melody-feedback .melody-placeholders .melody-placeholder[col="13"] {
      background: #222; }
    .melody-feedback .melody-placeholders .melody-placeholder[col="3"], .melody-feedback .melody-placeholders .melody-placeholder[col="7"], .melody-feedback .melody-placeholders .melody-placeholder[col="11"], .melody-feedback .melody-placeholders .melody-placeholder[col="15"] {
      background: #151515; }
  .melody-feedback .melody-inputs .melody-point {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px; }
    .melody-feedback .melody-inputs .melody-point.melody-input {
      background: #ccc; }
      .melody-feedback .melody-inputs .melody-point.melody-input[correct="yes"] {
        box-shadow: inset 0 0 0 1px #000;
        background: #69AF73; }
      .melody-feedback .melody-inputs .melody-point.melody-input[correct="no"] {
        box-shadow: inset 0 0 0 1px #000;
        background: #D94E49; }
  .melody-feedback .melody-feedback-icon {
    position: absolute;
    width: 100%;
    top: 50px;
    text-align: center;
    transition: all .2s ease;
    color: #fff;
    font-size: 14px; }
    .melody-feedback .melody-feedback-icon .melody-feedback-icon-listen {
      font-size: 40px;
      color: #fff;
      text-shadow: 0 0 10px #fff; }
    .melody-feedback .melody-feedback-icon .melody-feedback-icon-sing {
      font-size: 40px;
      color: #fff;
      text-shadow: 0 0 10px #fff; }

.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.compare-keys {
  padding: 8px 0 5px;
  text-align: center; }
  .compare-keys [key] {
    box-shadow: 0 0 1px #000;
    position: relative;
    min-width: 50px;
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    background: #555;
    color: #ccc;
    text-align: center;
    cursor: pointer;
    font-size: 36px;
    float: left;
    width: 33%; }
    .compare-keys [key][playing="on"] {
      color: #fff;
      text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff; }

.radio-keys {
  display: inline-block;
  padding: 8px 0 5px;
  text-align: center; }
  .radio-keys [key] {
    box-shadow: 0 0 1px #000;
    position: relative;
    min-width: 50px;
    padding: 0 10px;
    margin: 0 2px;
    height: 40px;
    line-height: 40px;
    background: #222;
    color: #ccc;
    text-align: center;
    cursor: pointer;
    display: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    user-select: none; }
    .radio-keys [key] card {
      color: #999; }
      .radio-keys [key] card[question] {
        font-size: 120%;
        color: #adfffd; }
    .radio-keys [key] s {
      color: #666;
      margin: 0 4px; }
    .radio-keys [key]:hover {
      background: #333;
      color: #fff; }
    .radio-keys [key][show="yes"] {
      display: inline-block; }
    .radio-keys [key][pressed="yes"] {
      background: #fff;
      color: #000;
      text-shadow: 0 0 4px #ccc;
      cursor: default; }
    .radio-keys [key][hovered="yes"] {
      background: #48607c;
      color: #99a4b2; }
    .radio-keys [key][feedback="correct"] {
      background: #69AF73;
      color: #bbeac1; }
      .radio-keys [key][feedback="correct"] card {
        color: #bbeac1; }
    .radio-keys [key][feedback="wrong"] {
      background: #D94E49;
      color: #f29693; }
      .radio-keys [key][feedback="wrong"] card {
        color: #f29693; }
    .radio-keys [key][playing="yes"] {
      color: #fff;
      text-shadow: 0 0 6px #fff, 0 0 14px #fff; }
    .radio-keys [key][feedback="reveal"] {
      animation: blink-correct-btn 1s; }

.game-listen-btn {
  user-select: none;
  outline: none;
  height: 60px;
  width: 120px;
  font-size: 40px;
  text-align: center;
  border: none;
  transition: all .2s ease;
  background: #000;
  color: #666;
  padding: 0 15px;
  cursor: pointer;
  display: inline-block;
  margin-top: 68px;
  border-radius: 4px; }
  .game-listen-btn i {
    width: 40px;
    text-align: left; }
  .game-listen-btn:hover {
    color: #999; }
  .game-listen-btn[state="playing"] {
    color: #fff;
    text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff; }

.interval-singer-panel {
  width: 310px;
  margin: 0 auto; }
  .interval-singer-panel .interval-singer-question {
    font-size: 16px;
    line-height: 40px;
    color: #fff; }
  .interval-singer-panel .interval-singer-instructions {
    font-size: 13px;
    color: #999;
    margin-top: 3px; }
  .interval-singer-panel .interval-singer-box {
    float: left;
    width: 50%; }
  .interval-singer-panel .interval-singer-listen .interval-progress[active="yes"] {
    animation: sing-progress 2.3s infinite linear; }
  .interval-singer-panel .interval-singer-sing .interval-progress[active="yes"] {
    animation: sing-progress 1.4s infinite linear; }
  .interval-singer-panel .interval-singer-grid {
    position: relative;
    width: 150px;
    height: 200px;
    background: #444; }
    .interval-singer-panel .interval-singer-grid[octave="one"] {
      height: 200px; }
      .interval-singer-panel .interval-singer-grid[octave="one"] .interval {
        height: 8px; }
    .interval-singer-panel .interval-singer-grid[octave="two"] {
      height: 172px; }
      .interval-singer-panel .interval-singer-grid[octave="two"] .interval {
        height: 4px; }
    .interval-singer-panel .interval-singer-grid .interval {
      position: relative;
      background: rgba(0, 0, 0, 0.3);
      box-shadow: 0 0 0 1px #000; }
      .interval-singer-panel .interval-singer-grid .interval[blink="yes"] {
        animation: sing-blink 1.2s; }
      .interval-singer-panel .interval-singer-grid .interval[highlight="yes"] {
        background: #fff; }
    .interval-singer-panel .interval-singer-grid .interval-singer-feedback {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0; }
      .interval-singer-panel .interval-singer-grid .interval-singer-feedback[feedback="correct"] {
        animation: sing-correct .6s; }
      .interval-singer-panel .interval-singer-grid .interval-singer-feedback[feedback="wrong"] {
        animation: sing-wrong .6s; }
    .interval-singer-panel .interval-singer-grid .interval-progress {
      position: absolute;
      background-color: rgba(0, 0, 0, 0.5);
      height: 100%;
      width: 0; }
    .interval-singer-panel .interval-singer-grid .pitcher {
      position: absolute;
      bottom: -4px;
      width: 100%;
      display: none; }
      .interval-singer-panel .interval-singer-grid .pitcher[show="yes"] {
        display: block; }
      .interval-singer-panel .interval-singer-grid .pitcher .frequency-bars {
        height: 100px;
        width: 100%;
        opacity: .3; }

.interval-singer-console {
  text-align: center; }
  .interval-singer-console .interval-singer-console-title {
    font-size: 16px;
    line-height: 40px;
    user-select: none;
    outline: none; }
    .interval-singer-console .interval-singer-console-title .audio-feedback {
      margin-right: 8px; }
    .interval-singer-console .interval-singer-console-title[state="playing"] {
      text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff;
      opacity: 1; }
    .interval-singer-console .interval-singer-console-title[state="pause"] .audio-feedback {
      opacity: 0; }
    .interval-singer-console .interval-singer-console-title[answer-feedback="correct"] {
      color: #69AF73; }
    .interval-singer-console .interval-singer-console-title[answer-feedback="wrong"] {
      color: #D94E49; }
  .interval-singer-console .interval-singer-table {
    width: auto;
    text-align: center;
    display: inline-block; }
    .interval-singer-console .interval-singer-table td {
      width: 70px; }
    .interval-singer-console .interval-singer-table .counter {
      height: 80px;
      font-size: 12px;
      line-height: 26px;
      color: #ccc;
      background: #444; }
      .interval-singer-console .interval-singer-table .counter .fa {
        font-size: 22px;
        display: block; }
      .interval-singer-console .interval-singer-table .counter td {
        box-shadow: 0 0 0 1px #000; }
        .interval-singer-console .interval-singer-table .counter td.sing-feedback[state="correct"] {
          background: #69AF73 !important; }
        .interval-singer-console .interval-singer-table .counter td.sing-feedback[state="wrong"] {
          background: #D94E49 !important; }
        .interval-singer-console .interval-singer-table .counter td[state="click"] {
          background: #319b97 !important; }
        .interval-singer-console .interval-singer-table .counter td[counter="listen-interval"][hint="no"] {
          color: #444; }
        .interval-singer-console .interval-singer-table .counter td[counter="listen-root"], .interval-singer-console .interval-singer-table .counter td[counter="listen-interval"] {
          background: #333; }
        .interval-singer-console .interval-singer-table .counter td[counter="count-1-2"], .interval-singer-console .interval-singer-table .counter td[counter="count-3-4"] {
          background: #333; }
        .interval-singer-console .interval-singer-table .counter td[counter="sing-root"], .interval-singer-console .interval-singer-table .counter td[counter="sing-interval"] {
          background: #111; }
    .interval-singer-console .interval-singer-table .instructions {
      font-size: 12px;
      line-height: 26px;
      color: #999; }
      .interval-singer-console .interval-singer-table .instructions td {
        box-shadow: 0 0 0 1px #000; }
        .interval-singer-console .interval-singer-table .instructions td[instruction="listen"] {
          background: #333; }
        .interval-singer-console .interval-singer-table .instructions td[instruction="count"] {
          background: #333; }
        .interval-singer-console .interval-singer-table .instructions td[instruction="sing"] {
          background: #111; }

.progression-btn {
  user-select: none;
  outline: none;
  text-align: center;
  border: none;
  transition: all .2s ease;
  background: #000;
  color: #666;
  cursor: pointer;
  display: inline-block;
  margin: 30px auto 0;
  padding: 0 10px;
  border-radius: 4px;
  font-size: 30px;
  line-height: 60px; }
  .progression-btn:hover i.fa {
    color: #aaa; }
  .progression-btn i.fa {
    display: inline-block;
    font-size: 26px;
    width: 50px;
    vertical-align: middle; }
  .progression-btn card, .progression-btn s {
    vertical-align: middle;
    display: inline-block;
    font-weight: bold; }
  .progression-btn card {
    width: 40px; }
    .progression-btn card[playing="yes"] {
      color: #fff;
      text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff; }
    .progression-btn card[question] {
      font-size: 120%;
      color: #adfffd; }

.tap-button {
  box-shadow: 0 0 5px #111;
  outline: none;
  border: none;
  border-radius: 50%;
  height: 66px;
  width: 66px;
  cursor: pointer; }
  .tap-button[state="none"] {
    background: #555; }
  .tap-button[state="go"] {
    background: #9797cb; }
  .tap-button[state="correct"] {
    background: #69AF73; }
  .tap-button[state="wrong"] {
    background: #D94E49; }
  .tap-button[pressed="yes"][active="yes"] {
    background: #fff; }

.rhythm-question {
  position: relative; }
  .rhythm-question .rhythm-feedback {
    height: 110px;
    position: absolute;
    top: 15px; }
  .rhythm-question .rhythm-title {
    position: absolute;
    top: 15px;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 18px; }
  .rhythm-question .rhythm-sessions {
    position: absolute;
    top: 70px;
    text-align: center;
    width: 100%; }
    .rhythm-question .rhythm-sessions .session {
      position: relative;
      background: #000;
      width: 44px;
      height: 44px;
      margin: 5px;
      border-radius: 5px;
      display: inline-block;
      text-align: center; }
      .rhythm-question .rhythm-sessions .session[state="none"] {
        background: #000; }
      .rhythm-question .rhythm-sessions .session[state="listen"] {
        background: #edc482; }
      .rhythm-question .rhythm-sessions .session[state="play"] {
        background: #fff; }
      .rhythm-question .rhythm-sessions .session[state="wrong"] {
        background: #D94E49; }
      .rhythm-question .rhythm-sessions .session[state="correct"] {
        background: #69AF73; }
  .rhythm-question .rhythm-instructions {
    position: absolute;
    top: 0;
    text-align: center;
    width: 100%; }
    .rhythm-question .rhythm-instructions small {
      color: inherit; }
    .rhythm-question .rhythm-instructions span {
      display: none;
      color: #ccc;
      font-size: 14px; }
      .rhythm-question .rhythm-instructions span[wrong] {
        color: #DC504A; }
      .rhythm-question .rhythm-instructions span[correct] {
        color: #69AF73; }
  .rhythm-question .sheet-rhythm {
    display: inline-block;
    height: 190px;
    overflow: hidden;
    position: relative;
    margin-top: -10px; }
    .rhythm-question .sheet-rhythm .notation {
      margin: 30px 0 0 0; }
      .rhythm-question .sheet-rhythm .notation path.abcjs-v1 {
        fill: transparent !important; }
      .rhythm-question .sheet-rhythm .notation path.abcjs-bar {
        fill: #ccc; }
      .rhythm-question .sheet-rhythm .notation path.abcjs-staff {
        fill: transparent !important; }
      .rhythm-question .sheet-rhythm .notation path.abcjs-staff.abcjs-v0:nth-child(3) {
        fill: #ccc !important; }
    .rhythm-question .sheet-rhythm .rhythm-meter {
      position: absolute;
      top: 56px;
      left: 30px;
      font-weight: bold;
      font-size: 18px;
      line-height: 22px; }
    .rhythm-question .sheet-rhythm .rhythm-progress {
      position: absolute;
      top: 116px;
      left: 0;
      height: 2px;
      background: #9797CB;
      width: 0;
      transition: all .2s ease; }
      .rhythm-question .sheet-rhythm .rhythm-progress[state="wrong"] {
        background: #DC504A; }
      .rhythm-question .sheet-rhythm .rhythm-progress[state="correct"] {
        background: #69AF73; }
    .rhythm-question .sheet-rhythm .rhythm-points {
      position: absolute;
      top: 118px;
      left: -25px;
      width: 100%; }
      .rhythm-question .sheet-rhythm .rhythm-points [points] {
        position: relative; }
        .rhythm-question .sheet-rhythm .rhythm-points [points] .target {
          color: #9797CB;
          position: absolute;
          top: 0; }
          .rhythm-question .sheet-rhythm .rhythm-points [points] .target[state="wrong"] {
            color: #DC504A; }
          .rhythm-question .sheet-rhythm .rhythm-points [points] .target[state="correct"] {
            color: #69AF73; }
        .rhythm-question .sheet-rhythm .rhythm-points [points] .hit {
          color: #DC504A;
          position: absolute;
          top: 6px;
          font-size: 6px; }
  .rhythm-question .sheet-metronome {
    position: absolute;
    left: 0;
    top: 100px;
    z-index: 1; }
  .rhythm-question .rhythm-timeline {
    position: absolute;
    left: 50%;
    top: 120px;
    margin-left: -150px;
    width: 300px;
    height: 40px; }
  .rhythm-question .sheet-melody {
    position: absolute;
    left: 0;
    top: 15px;
    z-index: 1; }
  .rhythm-question .progress-time {
    position: absolute;
    top: 87px;
    left: 52px;
    height: 3px;
    width: 348px; }
  .rhythm-question .progress-notes {
    position: absolute;
    top: 90px;
    left: 52px;
    height: 55px;
    width: 348px; }
    .rhythm-question .progress-notes .relative {
      width: 100%;
      height: 100px;
      position: relative; }
      .rhythm-question .progress-notes .relative div {
        background: #333;
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 18px; }
  .rhythm-question .hits {
    position: absolute;
    top: 20px;
    left: 0;
    height: 20px;
    width: 100%; }
  .rhythm-question .sheet-results {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 100%; }
    .rhythm-question .sheet-results .relative {
      width: 100%;
      height: 20px;
      position: relative; }
      .rhythm-question .sheet-results .relative span {
        position: absolute;
        top: 0; }
        .rhythm-question .sheet-results .relative span[state="wrong"] {
          color: #DC504A; }
        .rhythm-question .sheet-results .relative span[state="correct"] {
          color: #69AF73; }

.rhythm-metronome {
  width: 80px;
  height: 80px;
  left: 50%;
  margin-left: -40px;
  top: 58px;
  position: absolute;
  z-index: 1; }
  .rhythm-metronome .rhythm-metronome-internal {
    position: relative;
    width: 80px;
    height: 80px; }
  .rhythm-metronome .img-back {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5; }
  .rhythm-metronome .img-front {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 7; }
  .rhythm-metronome #stick {
    width: 2px;
    height: 65px;
    background: #999;
    position: absolute;
    bottom: 8px;
    left: calc(50% - 1px);
    transform-origin: 50% 100%;
    z-index: 6; }
    .rhythm-metronome #stick:after {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      background: silver;
      position: absolute;
      left: -4px;
      top: 10px;
      -webkit-clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%); }
    .rhythm-metronome #stick[state="running"] {
      animation: metronome 5s ease-in-out infinite;
      animation-play-state: running; }
    .rhythm-metronome #stick[state="paused"] {
      animation-play-state: paused; }
    .rhythm-metronome #stick[state="stop"] {
      animation: stop-metronome 2s ease-in-out; }

.vocal-question {
  position: relative; }
  .vocal-question .vocal-feedback {
    height: 110px;
    position: absolute;
    top: 15px; }
  .vocal-question .vocal-title {
    position: absolute;
    top: 15px;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 18px; }
  .vocal-question .vocal-sessions {
    position: absolute;
    top: 70px;
    text-align: center;
    width: 100%; }
    .vocal-question .vocal-sessions .session {
      position: relative;
      background: #000;
      width: 44px;
      height: 44px;
      margin: 5px;
      border-radius: 5px;
      display: inline-block;
      text-align: center; }
      .vocal-question .vocal-sessions .session[state="none"] {
        background: #000; }
      .vocal-question .vocal-sessions .session[state="listen"] {
        background: #edc482; }
      .vocal-question .vocal-sessions .session[state="play"] {
        background: #fff; }
      .vocal-question .vocal-sessions .session[state="wrong"] {
        background: #D94E49; }
      .vocal-question .vocal-sessions .session[state="correct"] {
        background: #69AF73; }
  .vocal-question .vocal-instructions {
    position: absolute;
    top: 148px;
    text-align: center;
    width: 100%; }
    .vocal-question .vocal-instructions span {
      display: none;
      color: #ccc;
      font-size: 14px; }
      .vocal-question .vocal-instructions span[wrong] {
        color: #DC504A; }
      .vocal-question .vocal-instructions span[correct] {
        color: #69AF73; }
  .vocal-question .sheet-vocal {
    display: inline-block;
    height: 190px;
    overflow: hidden;
    position: relative; }
    .vocal-question .sheet-vocal .notation {
      margin: 30px 0 0 0; }
      .vocal-question .sheet-vocal .notation path.abcjs-v1 {
        fill: transparent !important; }
      .vocal-question .sheet-vocal .notation path.abcjs-bar {
        fill: #ccc; }
      .vocal-question .sheet-vocal .notation path.abcjs-staff.abcjs-v0 {
        fill: #ccc !important; }
    .vocal-question .sheet-vocal .vocal-meter {
      position: absolute;
      top: 56px;
      left: 30px;
      font-weight: bold;
      font-size: 18px;
      line-height: 22px; }
    .vocal-question .sheet-vocal .vocal-progress {
      position: absolute;
      top: 116px;
      left: 0;
      height: 2px;
      background: #9797CB;
      width: 0;
      transition: all .2s ease; }
      .vocal-question .sheet-vocal .vocal-progress[state="wrong"] {
        background: #DC504A; }
      .vocal-question .sheet-vocal .vocal-progress[state="correct"] {
        background: #69AF73; }
    .vocal-question .sheet-vocal .vocal-points {
      position: absolute;
      top: 118px;
      left: -25px;
      width: 100%; }
      .vocal-question .sheet-vocal .vocal-points [points] {
        position: relative; }
        .vocal-question .sheet-vocal .vocal-points [points] .target {
          color: #9797CB;
          position: absolute;
          top: 0; }
          .vocal-question .sheet-vocal .vocal-points [points] .target[state="wrong"] {
            color: #DC504A; }
          .vocal-question .sheet-vocal .vocal-points [points] .target[state="correct"] {
            color: #69AF73; }
        .vocal-question .sheet-vocal .vocal-points [points] .hit {
          color: #DC504A;
          position: absolute;
          top: 6px;
          font-size: 6px; }
  .vocal-question .sheet-metronome {
    position: absolute;
    left: 0;
    top: 100px;
    z-index: 1; }
  .vocal-question .vocal-timeline {
    position: absolute;
    left: 50%;
    top: 120px;
    margin-left: -150px;
    width: 300px;
    height: 40px; }
  .vocal-question .vocal-melody {
    position: absolute;
    left: 0;
    top: 15px;
    z-index: 1; }
  .vocal-question .progress-time {
    position: absolute;
    top: 87px;
    left: 52px;
    height: 3px;
    width: 348px; }
  .vocal-question .progress-notes {
    position: absolute;
    top: 90px;
    left: 52px;
    height: 55px;
    width: 348px; }
    .vocal-question .progress-notes .relative {
      width: 100%;
      height: 100px;
      position: relative; }
      .vocal-question .progress-notes .relative div {
        background: #333;
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 18px; }
  .vocal-question .hits {
    position: absolute;
    top: 20px;
    left: 0;
    height: 20px;
    width: 100%; }
  .vocal-question .sheet-results {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 100%; }
    .vocal-question .sheet-results .relative {
      width: 100%;
      height: 20px;
      position: relative; }
      .vocal-question .sheet-results .relative span {
        position: absolute;
        top: 0; }
        .vocal-question .sheet-results .relative span[state="wrong"] {
          color: #DC504A; }
        .vocal-question .sheet-results .relative span[state="correct"] {
          color: #69AF73; }

.vocalist {
  text-align: center;
  width: 300px;
  height: 80px;
  position: relative;
  margin: 0 auto; }
  .vocalist[show-feedback="yes"] canvas, .vocalist[show-feedback="yes"] .name, .vocalist[show-feedback="yes"] .info {
    display: block; }
  .vocalist canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: none; }
  .vocalist .mic-feedback {
    text-align: center;
    box-shadow: 0 0 5px #111;
    outline: none;
    display: none;
    border: none;
    border-radius: 50%;
    height: 66px;
    width: 66px;
    z-index: 1;
    position: absolute;
    left: 50%;
    margin-left: -33px; }
    .vocalist .mic-feedback[show="yes"] {
      display: inline-block; }
    .vocalist .mic-feedback[state="results"] {
      background: #555; }
    .vocalist .mic-feedback[state="counting"] {
      background: #555; }
    .vocalist .mic-feedback[state="onyourmarks"] {
      background: #DC504A; }
    .vocalist .mic-feedback[state="getready"] {
      background: #edc482; }
    .vocalist .mic-feedback[state="go"] {
      background: #69AF73; }
    .vocalist .mic-feedback[pressed="yes"][active="yes"] {
      background: #c1f2c8;
      box-shadow: 0 0 2px #111; }
  .vocalist .name {
    display: none;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -33px;
    width: 66px;
    text-align: center;
    font-size: 22px;
    line-height: 66px;
    color: #caf7d0;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
  .vocalist .info {
    display: none;
    z-index: 2;
    position: absolute;
    top: 36px;
    right: 60px;
    font-size: 15px;
    color: #999; }

.piano-game-buttons {
  display: inline-block;
  user-select: none; }
  .piano-game-buttons.piano-keys-xs [key] {
    display: block;
    user-select: none; }
    .piano-game-buttons.piano-keys-xs [key][key-white] {
      width: 7.6666666667px;
      height: 20px;
      margin-left: -2.6833333333px; }
    .piano-game-buttons.piano-keys-xs [key][key-black] {
      width: 4.6px;
      height: 12px;
      margin-left: -2.3px; }
  .piano-game-buttons [key] {
    box-shadow: 0 0 1px #000;
    float: left;
    position: relative; }
    .piano-game-buttons [key] > div {
      position: relative;
      width: 100%;
      height: 100%; }
      .piano-game-buttons [key] > div [kname] {
        position: absolute;
        bottom: 3px;
        left: 4px;
        font-size: 13px; }
    .piano-game-buttons [key][show="yes"] {
      display: block; }
    .piano-game-buttons [key][key-white] {
      width: 46px;
      height: 120px;
      margin-left: -16.1px;
      z-index: 2;
      background: #ccc;
      color: #111;
      cursor: pointer; }
      .piano-game-buttons [key][key-white]:first-child {
        margin-left: 0; }
      .piano-game-buttons [key][key-white] + [key][key-white] {
        margin-left: 0; }
      .piano-game-buttons [key][key-white][pressed="yes"] {
        background: #999;
        cursor: default; }
      .piano-game-buttons [key][key-white][feedback="correct"] {
        animation: blink-correct-btn 1s; }
    .piano-game-buttons [key][key-black] {
      width: 32.2px;
      height: 72px;
      margin-left: -16.1px;
      z-index: 3;
      background: #222;
      color: #ccc;
      font-size: 10px;
      cursor: pointer;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
      .piano-game-buttons [key][key-black][pressed="yes"] {
        background: #111;
        cursor: default; }
      .piano-game-buttons [key][key-black][feedback="correct"] {
        animation: blink-correct-btn 1s; }

.keyboard-keys {
  display: inline-block;
  padding: 8px 0 5px;
  text-align: center; }
  .keyboard-keys .keyboard-keys-set {
    display: block;
    margin: 5px 0; }
  .keyboard-keys[show-shorts="yes"] [key] short, .keyboard-keys[show-shorts="yes"] [key] midik {
    display: block; }
  .keyboard-keys [key] {
    box-shadow: 0 0 1px #000;
    position: relative;
    min-width: 40px;
    padding: 0 10px;
    margin: 0 2px;
    height: 40px;
    line-height: 40px;
    font-size: 15px;
    text-align: center;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    user-select: none;
    display: inline-block; }
    .keyboard-keys [key] short, .keyboard-keys [key] midik {
      display: none;
      position: absolute;
      bottom: -2px;
      right: 3px;
      width: 15px;
      height: 15px;
      line-height: 13px;
      font-size: 13px;
      border-radius: 2px;
      box-shadow: 0 0 0 1px #000;
      font-weight: bold;
      padding: 0 2px; }
    .keyboard-keys [key] midik {
      font-size: 11px;
      width: auto;
      top: -2px;
      bottom: auto; }
    .keyboard-keys [key][show="no"] {
      opacity: .2;
      cursor: default;
      display: inline-block !important; }
      .keyboard-keys [key][show="no"][color="black"] {
        background: #333;
        color: #333; }
        .keyboard-keys [key][show="no"][color="black"]:hover {
          background: #333;
          color: #333; }
      .keyboard-keys [key][show="no"][color="white"] {
        background: #ccc;
        color: #ccc; }
        .keyboard-keys [key][show="no"][color="white"]:hover {
          background: #ccc;
          color: #ccc; }
    .keyboard-keys [key][color="black"] {
      background: #222;
      color: #eee; }
      .keyboard-keys [key][color="black"]:hover {
        background: #222;
        color: #fff; }
      .keyboard-keys [key][color="black"][playing="yes"] {
        color: #fff;
        text-shadow: 0 0 6px #fff, 0 0 14px #fff; }
      .keyboard-keys [key][color="black"] short {
        background: #222;
        color: #eee; }
      .keyboard-keys [key][color="black"] midik {
        background: #222;
        color: #1999BC; }
      .keyboard-keys [key][color="black"][pressed="yes"] {
        background: #1999BC;
        color: #bcf1ff; }
      .keyboard-keys [key][color="black"][feedback="reveal"] {
        animation: blink-keyboard-correct-on-black .5s !important; }
      .keyboard-keys [key][color="black"][feedback="correct"] {
        background: #69AF73;
        color: #1a4420; }
      .keyboard-keys [key][color="black"][feedback="wrong"] {
        background: #D94E49;
        color: #720d0a; }
    .keyboard-keys [key][color="white"] {
      background: #ccc;
      color: #333; }
      .keyboard-keys [key][color="white"]:hover {
        background: #fff;
        color: #000; }
      .keyboard-keys [key][color="white"][playing="yes"] {
        color: #111;
        text-shadow: 0 0 6px #111, 0 0 14px #111; }
      .keyboard-keys [key][color="white"] short {
        background: #ddd;
        color: #444; }
      .keyboard-keys [key][color="white"] midik {
        background: #ddd;
        color: #1999BC; }
      .keyboard-keys [key][color="white"][pressed="yes"] {
        background: #1999BC;
        color: #bcf1ff; }
      .keyboard-keys [key][color="white"][feedback="reveal"] {
        animation: blink-keyboard-correct-on-white .5s !important; }
      .keyboard-keys [key][color="white"][feedback="correct"] {
        background: #69AF73;
        color: #1a4420; }
      .keyboard-keys [key][color="white"][feedback="wrong"] {
        background: #D94E49;
        color: #720d0a; }
    .keyboard-keys [key][color="empty"] {
      background: none;
      box-shadow: none;
      cursor: default; }

.keyboard-shortkey {
  position: relative;
  height: 15px; }
  .keyboard-shortkey[show-shorts="no"] short, .keyboard-shortkey[show-shorts="no"] midik {
    display: none; }
  .keyboard-shortkey short, .keyboard-shortkey midik {
    position: absolute;
    right: -5px;
    height: 15px;
    line-height: 13px;
    font-size: 13px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px #000;
    font-weight: bold;
    background: #222; }
  .keyboard-shortkey short {
    color: #eee;
    bottom: -10px; }
  .keyboard-shortkey midik {
    color: #1999BC;
    top: -10px; }

.noter {
  font-size: 0;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  background: #eee;
  text-align: left; }
  .noter [noter-sing] {
    background: rgba(0, 0, 0, 0.2);
    transition: 0.1s; }
    .noter [noter-sing][state="click"] {
      background: rgba(0, 0, 0, 0.4); }
  .noter [noter-sign] {
    display: inline-block;
    height: 100%;
    position: relative; }
    .noter [noter-sign] .sung-note {
      position: absolute;
      font-size: 15px;
      width: 20px;
      height: 20px;
      left: 16px;
      color: #111;
      text-shadow: 0 1px 0 #000, 0 0 4px #fff, 0 0 6px #fff;
      opacity: 0; }
      .noter [noter-sign] .sung-note[reference-note="yes"] {
        top: 116px;
        opacity: 1;
        left: 36px; }
      .noter [noter-sign] .sung-note[sung-feeback="Ti2#"] {
        top: 14px; }
      .noter [noter-sign] .sung-note[sung-feeback="Ti2"] {
        top: 14px; }
      .noter [noter-sign] .sung-note[sung-feeback="Ti2b"] {
        top: 14px; }
      .noter [noter-sign] .sung-note[sung-feeback="La2#"] {
        top: 22px; }
      .noter [noter-sign] .sung-note[sung-feeback="La2"] {
        top: 22px; }
      .noter [noter-sign] .sung-note[sung-feeback="La2b"] {
        top: 22px; }
      .noter [noter-sign] .sung-note[sung-feeback="Sol2#"] {
        top: 30px; }
      .noter [noter-sign] .sung-note[sung-feeback="Sol2"] {
        top: 30px; }
      .noter [noter-sign] .sung-note[sung-feeback="Sol2b"] {
        top: 30px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fa2#"] {
        top: 38px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fa2"] {
        top: 38px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fa2b"] {
        top: 38px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mi2#"] {
        top: 46px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mi2"] {
        top: 46px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mi2b"] {
        top: 46px; }
      .noter [noter-sign] .sung-note[sung-feeback="Re2#"] {
        top: 52px; }
      .noter [noter-sign] .sung-note[sung-feeback="Re2"] {
        top: 52px; }
      .noter [noter-sign] .sung-note[sung-feeback="Re2b"] {
        top: 52px; }
      .noter [noter-sign] .sung-note[sung-feeback="Do2#"] {
        top: 60px; }
      .noter [noter-sign] .sung-note[sung-feeback="Do2"] {
        top: 60px; }
      .noter [noter-sign] .sung-note[sung-feeback="Do2b"] {
        top: 60px; }
      .noter [noter-sign] .sung-note[sung-feeback="Ti#"] {
        top: 68px; }
      .noter [noter-sign] .sung-note[sung-feeback="Ti"] {
        top: 68px; }
      .noter [noter-sign] .sung-note[sung-feeback="Tib"] {
        top: 68px; }
      .noter [noter-sign] .sung-note[sung-feeback="La#"] {
        top: 76px; }
      .noter [noter-sign] .sung-note[sung-feeback="La"] {
        top: 76px; }
      .noter [noter-sign] .sung-note[sung-feeback="Lab"] {
        top: 76px; }
      .noter [noter-sign] .sung-note[sung-feeback="Sol#"] {
        top: 84px; }
      .noter [noter-sign] .sung-note[sung-feeback="Sol"] {
        top: 84px; }
      .noter [noter-sign] .sung-note[sung-feeback="Solb"] {
        top: 84px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fa#"] {
        top: 92px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fa"] {
        top: 92px; }
      .noter [noter-sign] .sung-note[sung-feeback="Fab"] {
        top: 92px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mi#"] {
        top: 100px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mi"] {
        top: 100px; }
      .noter [noter-sign] .sung-note[sung-feeback="Mib"] {
        top: 100px; }
      .noter [noter-sign] .sung-note[sung-feeback="Re#"] {
        top: 108px; }
      .noter [noter-sign] .sung-note[sung-feeback="Re"] {
        top: 108px; }
      .noter [noter-sign] .sung-note[sung-feeback="Reb"] {
        top: 108px; }
      .noter [noter-sign] .sung-note[sung-feeback="Do#"] {
        top: 116px; }
      .noter [noter-sign] .sung-note[sung-feeback="Do"] {
        top: 116px; }
      .noter [noter-sign] .sung-note[sung-feeback="Dob"] {
        top: 116px; }
    .noter [noter-sign][state="correct"] svg > g[id^=note-], .noter [noter-sign][state="correct"] svg > g[id^=rest-] {
      fill: #69AF73; }
    .noter [noter-sign][state="wrong"] svg > g[id^=note-], .noter [noter-sign][state="wrong"] svg > g[id^=rest-] {
      fill: #D94E49; }
    .noter [noter-sign][state="transparent"] svg {
      opacity: .2 !important; }
    .noter [noter-sign][state="hidden"] svg {
      opacity: 0 !important; }
    .noter [noter-sign] svg {
      height: 100%; }
      .noter [noter-sign] svg > g {
        opacity: 0; }
        .noter [noter-sign] svg > g#lines {
          opacity: .6; }
  .noter[show-result="yes"] [noter-sign] {
    display: inline-block;
    height: 100%; }
    .noter[show-result="yes"] [noter-sign] .sung-note {
      opacity: 1; }
    .noter[show-result="yes"] [noter-sign][result="correct"] svg {
      opacity: 1 !important; }
      .noter[show-result="yes"] [noter-sign][result="correct"] svg > g[id^=note-], .noter[show-result="yes"] [noter-sign][result="correct"] svg > g[id^=rest-] {
        fill: #69AF73; }
    .noter[show-result="yes"] [noter-sign][result="correct"] .sung-note {
      color: #69AF73; }
      .noter[show-result="yes"] [noter-sign][result="correct"] .sung-note sub {
        color: #69AF73; }
    .noter[show-result="yes"] [noter-sign][result="wrong"] svg {
      opacity: 1 !important; }
      .noter[show-result="yes"] [noter-sign][result="wrong"] svg > g[id^=note-], .noter[show-result="yes"] [noter-sign][result="wrong"] svg > g[id^=rest-] {
        fill: #D94E49; }
    .noter[show-result="yes"] [noter-sign][result="wrong"] .sung-note {
      color: #D94E49; }
      .noter[show-result="yes"] [noter-sign][result="wrong"] .sung-note sub {
        color: #D94E49; }

.pitch-noter {
  font-size: 0;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  background: #333;
  text-align: center; }
  .pitch-noter [noter-sign] {
    display: inline-block;
    height: 100%;
    width: 50px;
    background: rgba(0, 0, 0, 0.3);
    border-right: 2px solid #000;
    position: relative; }
    .pitch-noter [noter-sign]:first-child {
      border-left: 2px solid #000; }
    .pitch-noter [noter-sign][state="click"] {
      background: rgba(255, 255, 255, 0.2); }
    .pitch-noter [noter-sign] [pitch] {
      height: 10px;
      width: 100%;
      background: transparent;
      position: absolute;
      left: 0; }
  .pitch-noter[show-result="yes"] [noter-sign][result="correct"] [pitch] {
    background: #69AF73; }
  .pitch-noter[show-result="yes"] [noter-sign][result="wrong"] [pitch] {
    background: #D94E49; }

.meloductor {
  text-align: center;
  background: #333; }
  .meloductor .meloductor-title {
    font-size: 18px;
    line-height: 30px;
    color: #999;
    padding: 10px 0; }
  .meloductor .meloductor-questions {
    padding: 5px 0 15px; }
    .meloductor .meloductor-questions .meloductor-question {
      width: 35px;
      text-align: center;
      display: inline-block;
      margin: 0; }
      .meloductor .meloductor-questions .meloductor-question .dot {
        font-size: 24px;
        color: #999; }
      .meloductor .meloductor-questions .meloductor-question .name {
        font-size: 15px;
        color: #999;
        opacity: 0; }
      .meloductor .meloductor-questions .meloductor-question[feedback="correct"] .dot {
        color: #69AF73; }
      .meloductor .meloductor-questions .meloductor-question[feedback="wrong"] .dot {
        color: #D94E49; }
      .meloductor .meloductor-questions .meloductor-question[submitted="yes"] .name {
        opacity: 1; }
  .meloductor .meloductor-keyboard .piano {
    display: inline-block;
    user-select: none; }
    .meloductor .meloductor-keyboard .piano [key] {
      box-shadow: 0 0 1px #000;
      float: left;
      position: relative; }
      .meloductor .meloductor-keyboard .piano [key] > div {
        position: relative;
        width: 100%;
        height: 100%; }
        .meloductor .meloductor-keyboard .piano [key] > div [kname] {
          position: absolute;
          bottom: 3px;
          left: 4px;
          font-size: 13px; }
      .meloductor .meloductor-keyboard .piano [key][show="yes"] {
        display: block; }
      .meloductor .meloductor-keyboard .piano [key][key-white] {
        width: 46px;
        height: 120px;
        margin-left: -16.1px;
        z-index: 2;
        background: #ccc;
        color: #111;
        cursor: pointer; }
        .meloductor .meloductor-keyboard .piano [key][key-white]:first-child {
          margin-left: 0; }
        .meloductor .meloductor-keyboard .piano [key][key-white] + [key][key-white] {
          margin-left: 0; }
        .meloductor .meloductor-keyboard .piano [key][key-white][pressed="yes"] {
          background: #999;
          cursor: default; }
        .meloductor .meloductor-keyboard .piano [key][key-white][feedback="correct"] {
          animation: blink-correct-btn 1s; }
      .meloductor .meloductor-keyboard .piano [key][key-black] {
        width: 32.2px;
        height: 72px;
        margin-left: -16.1px;
        z-index: 3;
        background: #222;
        color: #ccc;
        font-size: 10px;
        cursor: pointer;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px; }
        .meloductor .meloductor-keyboard .piano [key][key-black][pressed="yes"] {
          background: #111;
          cursor: default; }
        .meloductor .meloductor-keyboard .piano [key][key-black][feedback="correct"] {
          animation: blink-correct-btn 1s; }

.melodix .melodix-btn {
  border: none;
  border-radius: 2px;
  padding: 0 8px;
  background: #444;
  color: #999;
  line-height: 30px;
  outline: none; }
  .melodix .melodix-btn:hover {
    background: #777;
    color: rgba(255, 255, 255, 0.9); }
  .melodix .melodix-btn[show="no"] {
    display: none; }
  .melodix .melodix-btn[is-temp-disabled="yes"], .melodix .melodix-btn[active="no"] {
    opacity: .3;
    cursor: default; }
    .melodix .melodix-btn[is-temp-disabled="yes"]:hover, .melodix .melodix-btn[active="no"]:hover {
      background: #444;
      color: #999; }
.melodix .melodix-tiles .tile {
  height: 30px;
  border-radius: 3px;
  display: inline-block;
  transition: all .1s ease;
  box-shadow: inset 0 0 0 1px #000;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  background: #555555;
  color: #fff; }
  .melodix .melodix-tiles .tile sub {
    color: #fff;
    font-size: 10px; }
  .melodix .melodix-tiles .tile[playing="yes"] {
    background: #f7b860 !important; }
  .melodix .melodix-tiles .tile[answer="correct"] {
    background: #69AF73; }
  .melodix .melodix-tiles .tile[answer="wrong"] {
    background: #D94E49; }
.melodix .keyboard-keys [key][is-active="no"] {
  cursor: default;
  opacity: .3; }

.melodix-tempo-slider {
  position: absolute;
  right: 20px;
  top: 0;
  font-size: 13px;
  color: #777;
  text-align: center; }
  .melodix-tempo-slider [slider] {
    width: 100px;
    margin-top: 0;
    margin-bottom: 5px;
    background: #333;
    border-radius: 3px; }
    .melodix-tempo-slider [slider] .machine-slider-label {
      font-size: 12px;
      color: #999;
      position: absolute;
      bottom: -20px;
      left: 0; }
    .melodix-tempo-slider [slider] .noUi-target {
      background: #444751; }
    .melodix-tempo-slider [slider] .noUi-handle {
      box-shadow: 0 0 0 3px #93959e, 0 0 0 4px #333;
      border-radius: 1px;
      background: #93959e;
      cursor: pointer;
      width: 18px;
      height: 18px;
      top: 0; }
      .melodix-tempo-slider [slider] .noUi-handle:before {
        display: none; }
      .melodix-tempo-slider [slider] .noUi-handle:after {
        display: none; }
      .melodix-tempo-slider [slider] .noUi-handle.noUi-active {
        box-shadow: 0 0 0 3px #eee; }

@media (max-width: 768px) {
  #game-panel #game-panel-header .game-panel-header-element {
    color: #eee;
    font-size: 18px; }
    #game-panel #game-panel-header .game-panel-header-element > div {
      font-size: 12px; }

  #game-panel-icon {
    display: none; }

  .answer-panel .answer {
    font-size: 15px;
    line-height: 22px; }
    .answer-panel .answer .small {
      font-size: 14px;
      line-height: 18px;
      color: #222; }

  #grid > div .min {
    font-size: 11px;
    text-indent: -5px; }

  .keyboard-keys [key] {
    min-width: 24px;
    padding: 0;
    margin: 0 2px; } }
@keyframes blink-correct-btn {
  0% {
    background: #69AF73; }
  25% {
    background: #222; }
  50% {
    background: #69AF73; }
  100% {
    background: #222; } }
@keyframes metronome {
  0%, 100% {
    transform: rotate(35deg); }
  50% {
    transform: rotate(-35deg); } }
@keyframes stop-metronome {
  100% {
    transform: rotate(0deg); } }
@keyframes breath {
  0% {
    background: transparent; }
  50% {
    background: inherit; }
  100% {
    background: transparent; } }
@keyframes blink-keyboard-correct-on-white {
  0% {
    color: #1a4420;
    background: #69AF73; }
  25% {
    color: #333;
    background: #ccc; }
  50% {
    color: #1a4420;
    background: #69AF73; }
  100% {
    color: #333;
    background: #ccc; } }
@keyframes blink-keyboard-correct-on-black {
  0% {
    color: #1a4420;
    background: #69AF73; }
  25% {
    color: #ccc;
    background: #222; }
  50% {
    color: #1a4420;
    background: #69AF73; }
  100% {
    color: #ccc;
    background: #222; } }
@keyframes sing-progress {
  0% {
    width: 0; }
  30% {
    width: 50%; }
  80% {
    width: 90%; }
  100% {
    width: 100%; } }
@keyframes sing-blink {
  0% {
    background: #D94E49; }
  90% {
    background: rgba(0, 0, 0, 0.3); }
  100% {
    background: rgba(0, 0, 0, 0.3); } }
@keyframes sing-correct {
  0% {
    background: #69AF73; }
  100% {
    background: transparent; } }
@keyframes sing-wrong {
  0% {
    background: #D94E49; }
  100% {
    background: transparent; } }

/*# sourceMappingURL=tonegym.css.map */
