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

.exercise-description {
  color: #999;
  font-size: 13px;
  line-height: 18px; }

.exercise-panel {
  position: relative;
  transition: all .2s ease; }
  .exercise-panel .panel-loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.05);
    color: #fff;
    font-size: 20px;
    padding: 10px;
    text-align: right;
    display: none; }
  .exercise-panel[loading="yes"] .panel-loading {
    display: block; }
  .exercise-panel[state="edit"] .exercise-panel-cover {
    display: block; }
  .exercise-panel[state="edit"] .exercise-customize-panel {
    right: 0; }
  .exercise-panel[state="online"] [online-transparent="yes"] {
    opacity: .2 !important; }
    .exercise-panel[state="online"] [online-transparent="yes"] * {
      cursor: default !important; }
  .exercise-panel[state="online"] [online-hide="yes"] {
    display: none !important; }
  .exercise-panel[state="offline"] [offline-transparent="yes"] {
    opacity: .2 !important; }
    .exercise-panel[state="offline"] [offline-transparent="yes"] * {
      cursor: default !important; }
  .exercise-panel[state="offline"] [offline-hide="yes"] {
    display: none !important; }
  .exercise-panel .exercise-panel-cover {
    z-index: 3;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    transition: all .2s ease;
    position: absolute;
    left: 0;
    top: 0;
    display: none; }
  .exercise-panel .exercise-title {
    font-size: 15px;
    margin: 10px 0;
    line-height: 36px; }
    .exercise-panel .exercise-title small {
      font-size: 13px; }
  .exercise-panel .exercise-counter {
    padding-left: 6px; }
  .exercise-panel .exercise-instructions {
    margin: 8px;
    font-weight: bold;
    text-align: center; }
  .exercise-panel .exercise-start-btn {
    text-align: center;
    cursor: pointer; }
    .exercise-panel .exercise-start-btn .fa-circle {
      color: #319b97; }
    .exercise-panel .exercise-start-btn .fa-play {
      color: #98eae6;
      margin-left: 4px; }
    .exercise-panel .exercise-start-btn:hover .fa-circle {
      color: #18706b; }
    .exercise-panel .exercise-start-btn:hover .fa-play {
      color: #fff; }
  .exercise-panel .exercise-content {
    min-height: 100px;
    text-align: center; }
  .exercise-panel .exercise-question-title {
    font-size: 18px;
    height: 44px;
    line-height: 24px;
    font-weight: bold; }
    .exercise-panel .exercise-question-title b {
      font-size: 24px;
      color: #18706b; }
    .exercise-panel .exercise-question-title small, .exercise-panel .exercise-question-title sup, .exercise-panel .exercise-question-title sub {
      color: #333; }
  .exercise-panel .exercise-presentation {
    text-align: center;
    margin: 10px 0;
    min-height: 4px;
    position: relative; }
  .exercise-panel .exercise-sheet {
    margin-top: 0;
    overflow: hidden; }
  .exercise-panel .exercise-select-btn {
    user-select: none;
    outline: none;
    line-height: 40px;
    text-align: center;
    border: none;
    font-size: 16px;
    font-weight: normal;
    transition: all .2s ease;
    background: #319b97;
    color: #98eae6;
    padding: 0 15px;
    cursor: pointer;
    margin-right: 4px;
    display: inline-block; }
    .exercise-panel .exercise-select-btn i {
      width: 15px;
      text-align: left; }
    .exercise-panel .exercise-select-btn:hover {
      background: #18706b;
      color: #fff; }
    .exercise-panel .exercise-select-btn[state="playing"] {
      color: #fff;
      text-shadow: 0 0 2px #095450, 0 0 6px #fff, 0 0 14px #fff; }
    .exercise-panel .exercise-select-btn[active="yes"] {
      cursor: pointer;
      background: #222;
      color: #ccc; }
    .exercise-panel .exercise-select-btn[feedback="correct"] {
      background: #69AF73;
      color: #bbeac1; }
    .exercise-panel .exercise-select-btn[feedback="wrong"] {
      background: #D94E49;
      color: #f29693; }
    .exercise-panel .exercise-select-btn[feedback="reveal"] {
      animation: blink-correct-btn 1s; }
    .exercise-panel .exercise-select-btn.disabled {
      background: #888;
      color: #eee; }
  .exercise-panel .exercise-customize-toggle {
    position: absolute;
    width: 25px;
    text-align: center;
    top: 15px;
    right: 15px;
    cursor: pointer;
    font-size: 18px;
    user-select: none;
    background: none;
    border: none;
    outline: none;
    color: #999; }
    .exercise-panel .exercise-customize-toggle :hover {
      color: #111; }
  .exercise-panel .exercise-customize-panel {
    z-index: 5;
    position: absolute;
    top: 0;
    right: -100%;
    width: 93%;
    height: 100%;
    padding: 30px 10px 0;
    background: #222;
    box-shadow: -3px 0 3px 0 rgba(0, 0, 0, 0.3);
    transition: all .2s ease; }
    .exercise-panel .exercise-customize-panel .exercise-customize-panel-internal {
      margin-top: 12px; }
    .exercise-panel .exercise-customize-panel .exercise-customize-close {
      position: absolute;
      width: 25px;
      text-align: center;
      top: 12px;
      right: 15px;
      cursor: pointer;
      font-size: 18px;
      user-select: none;
      background: none;
      border: none;
      outline: none;
      color: #999; }
      .exercise-panel .exercise-customize-panel .exercise-customize-close :hover {
        color: #fff; }
    .exercise-panel .exercise-customize-panel .exercise-customize-save {
      position: absolute;
      width: 25px;
      text-align: center;
      top: 12px;
      left: 5px;
      cursor: pointer;
      font-size: 18px;
      user-select: none;
      background: none;
      border: none;
      outline: none;
      color: #999; }
      .exercise-panel .exercise-customize-panel .exercise-customize-save :hover {
        color: #fff; }
    .exercise-panel .exercise-customize-panel .exercise-customize-comment {
      position: absolute;
      left: 40px;
      top: 15px;
      font-size: 13px;
      color: #999; }
    .exercise-panel .exercise-customize-panel .exercise-customize-title {
      color: #999;
      margin: 4px 0;
      font-size: 13px; }
    .exercise-panel .exercise-customize-panel .exercise-customize-preset-list {
      border-radius: 3px;
      background: #777;
      display: inline-block;
      font-size: 0;
      margin: 0; }
      .exercise-panel .exercise-customize-panel .exercise-customize-preset-list button {
        user-select: none;
        outline: none;
        display: inline-block;
        padding: 3px 6px;
        cursor: pointer;
        border: none;
        background: none;
        font-size: 13px;
        color: #ccc; }
        .exercise-panel .exercise-customize-panel .exercise-customize-preset-list button:hover, .exercise-panel .exercise-customize-panel .exercise-customize-preset-list button:active {
          color: #fff; }
    .exercise-panel .exercise-customize-panel .exercise-customize-direction {
      font-size: 0; }
    .exercise-panel .exercise-customize-panel .exercise-customize-btn {
      user-select: none;
      outline: none;
      display: inline-block;
      padding: 3px 5px;
      cursor: pointer;
      background: #ccc;
      color: #666;
      border: none;
      vertical-align: middle;
      transition: all .2s ease;
      margin: 0 2px 2px 0;
      font-size: 13px; }
      .exercise-panel .exercise-customize-panel .exercise-customize-btn:hover {
        color: #111; }
      .exercise-panel .exercise-customize-panel .exercise-customize-btn[active="yes"] {
        background: #41b3aa;
        color: #fff; }
    .exercise-panel .exercise-customize-panel .exercise-preset-btn {
      user-select: none;
      outline: none;
      display: inline-block;
      cursor: pointer;
      background: none;
      color: #999;
      border: none;
      vertical-align: middle;
      transition: all .2s ease;
      font-size: 13px; }
      .exercise-panel .exercise-customize-panel .exercise-preset-btn [empty="yes"] {
        display: none !important; }
      .exercise-panel .exercise-customize-panel .exercise-preset-btn:hover {
        color: #000; }

.custom-options-panel .customize-preset-list {
  border-radius: 3px;
  background: #444;
  display: inline-block;
  font-size: 0;
  margin: 5px 0; }
  .custom-options-panel .customize-preset-list button {
    user-select: none;
    outline: none;
    display: inline-block;
    padding: 3px 6px;
    cursor: pointer;
    border: none;
    background: none;
    font-size: 13px;
    color: #ccc; }
    .custom-options-panel .customize-preset-list button:hover, .custom-options-panel .customize-preset-list button:active {
      color: #fff; }
.custom-options-panel .customize-btn {
  user-select: none;
  outline: none;
  display: inline-block;
  padding: 3px 5px;
  cursor: pointer;
  background: #ccc;
  color: #666;
  border: none;
  vertical-align: middle;
  transition: all .2s ease;
  margin: 0 2px 2px 0;
  font-size: 13px; }
  .custom-options-panel .customize-btn:hover {
    color: #111; }
  .custom-options-panel .customize-btn[active="yes"] {
    background: #41b3aa;
    color: #fff; }
.custom-options-panel .customize-preset-btn {
  user-select: none;
  outline: none;
  display: inline-block;
  cursor: pointer;
  background: none;
  color: #999;
  border: none;
  vertical-align: middle;
  transition: all .1s ease;
  font-size: 13px; }
  .custom-options-panel .customize-preset-btn [empty="yes"] {
    display: none !important; }
  .custom-options-panel .customize-preset-btn:hover {
    color: #000; }

.answers {
  display: inline-block;
  margin: 6px auto;
  font-size: 0; }
  .answers [key] {
    user-select: none;
    padding: 0 12px;
    min-width: 36px;
    line-height: 40px;
    font-size: 15px;
    cursor: pointer;
    text-align: center;
    background: #282828;
    color: #ccc;
    box-shadow: 0 0 0 1px #000;
    display: inline-block; }
    .answers [key]:hover {
      background: #000;
      color: #fff; }
    .answers [key][feedback="correct"] {
      background: #69AF73;
      color: #bbeac1; }
    .answers [key][feedback="wrong"] {
      background: #D94E49;
      color: #f29693; }
    .answers [key][feedback="reveal"] {
      animation: blink-correct-btn 1s; }
    .answers [key][active="yes"] {
      display: inline-block; }

.radio-keys {
  margin-bottom: 5px;
  display: table; }
  .radio-keys[active="no"] {
    display: none; }
  .radio-keys .radio-label {
    display: table-cell;
    user-select: none;
    padding: 0 5px;
    width: 90px;
    line-height: 40px;
    margin-right: 5px;
    cursor: default;
    font-size: 13px;
    background: #ccc;
    color: #777;
    text-align: center;
    font-style: italic; }
    .radio-keys .radio-label.radio-label-btn {
      font-style: normal;
      background: #777;
      color: #eee;
      text-align: center;
      cursor: pointer; }
      .radio-keys .radio-label.radio-label-btn:hover {
        background: #222;
        color: #ccc; }
  .radio-keys .radio-options {
    display: table-cell; }
  .radio-keys .custom-input {
    display: inline-block;
    width: 150px;
    line-height: 30px;
    padding: 5px 10px;
    margin: 0 -5px 0 -2px;
    box-shadow: inset 0 0 0 1px #ccc;
    border: none;
    outline: none; }
  .radio-keys [key], .radio-keys [play], .radio-keys [set] {
    display: inline-block;
    user-select: none;
    padding: 0 8px;
    min-width: 36px;
    line-height: 40px;
    cursor: pointer;
    text-align: center; }
  .radio-keys [key] {
    background: #222;
    color: #ccc; }
    .radio-keys [key]:hover {
      background: #000;
      color: #fff; }
    .radio-keys [key][hovered="yes"] {
      background: #48607c;
      color: #99a4b2; }
    .radio-keys [key][feedback="right"] {
      background: #69AF73;
      color: #bbeac1; }
    .radio-keys [key][feedback="wrong"] {
      background: #D94E49;
      color: #f29693; }
    .radio-keys [key][feedback="correct"] {
      animation: blink-correct-btn 1s; }
    .radio-keys [key][active="no"] {
      background: #999;
      color: #777;
      cursor: default;
      display: none; }
  .radio-keys [play] {
    transition: all .2s ease;
    background: #319b97;
    color: #97d8d4;
    text-shadow: 0 0 3px #095450; }
    .radio-keys [play]:hover {
      background: #27918c;
      color: #c2efec; }
    .radio-keys [play][playing="yes"] {
      color: #fff;
      text-shadow: 0 0 3px #095450, 0 0 6px #fff, 0 0 12px #fff; }
  .radio-keys [set] {
    background: #777;
    color: #333; }
    .radio-keys [set]:hover {
      background: #666; }
    .radio-keys [set][active="yes"] {
      background: #222;
      color: #fff; }

.exercise-presentation-piano {
  margin: auto;
  position: relative; }
  .exercise-presentation-piano [piano-loading] {
    font-size: 30px;
    position: absolute;
    left: 50%;
    margin-left: -15px;
    top: 40px;
    color: #111;
    opacity: 0;
    z-index: 2; }

.piano-keys {
  display: inline-block;
  user-select: none; }
  .piano-keys.piano-keys-xs [key] {
    display: block;
    user-select: none; }
    .piano-keys.piano-keys-xs [key][key-white] {
      width: 8.6666666667px;
      height: 40px;
      margin-left: -3.0333333333px; }
    .piano-keys.piano-keys-xs [key][key-black] {
      width: 5.2px;
      height: 24px;
      margin-left: -2.6px; }
  .piano-keys [key] {
    box-shadow: 0 0 1px #000;
    float: left;
    position: relative; }
    .piano-keys [key] > div {
      position: relative;
      width: 100%;
      height: 100%; }
      .piano-keys [key] > div [kname] {
        position: absolute;
        bottom: 3px;
        left: 2px;
        font-size: 11px; }
    .piano-keys [key][show="yes"] {
      display: block; }
    .piano-keys [key][key-white] {
      width: 26px;
      height: 120px;
      margin-left: -9.1px;
      z-index: 2;
      background: #333;
      color: #666;
      cursor: pointer; }
      .piano-keys [key][key-white]:first-child {
        margin-left: 0; }
      .piano-keys [key][key-white] + [key][key-white] {
        margin-left: 0; }
      .piano-keys [key][key-white][hovered="yes"] {
        background: #48607c;
        color: #fff; }
      .piano-keys [key][key-white][pressed="yes"] {
        background: #a3cae0;
        color: #295f7c;
        cursor: default; }
      .piano-keys [key][key-white][feedback="right"] {
        background: #69AF73;
        color: #bbeac1; }
      .piano-keys [key][key-white][feedback="wrong"] {
        background: #D94E49;
        color: #f29693; }
      .piano-keys [key][key-white][feedback="correct"] {
        animation: blink-correct-btn 1s; }
    .piano-keys [key][key-black] {
      width: 18.2px;
      height: 72px;
      margin-left: -9.1px;
      z-index: 3;
      background: #666;
      color: #999;
      font-size: 10px;
      cursor: pointer; }
      .piano-keys [key][key-black][hovered="yes"] {
        background: #48607c;
        color: #fff; }
      .piano-keys [key][key-black][pressed="yes"] {
        background: #a3cae0;
        color: #295f7c;
        cursor: default; }
      .piano-keys [key][key-black][feedback="right"] {
        background: #69AF73;
        color: #111; }
      .piano-keys [key][key-black][feedback="wrong"] {
        background: #D94E49;
        color: #fff; }
      .piano-keys [key][key-black][feedback="correct"] {
        animation: blink-correct-btn 1s; }

.vocal-feedback-panel {
  position: relative;
  width: 150px;
  height: 64px;
  margin: 5px auto;
  background: #eee;
  border-radius: 4px;
  cursor: pointer;
  transition: all .2s ease; }
  .vocal-feedback-panel[state="off"] .vocal-image {
    filter: grayscale(100%);
    opacity: .5; }
  .vocal-feedback-panel[state="off"] .vocal-feedback {
    opacity: 0; }
  .vocal-feedback-panel[state="off"] .vocal-led {
    color: #999; }
    .vocal-feedback-panel[state="off"] .vocal-led i {
      color: #999; }
  .vocal-feedback-panel[state="off"] .vocal-feedback {
    opacity: 0; }
  .vocal-feedback-panel[state="off"] .vocal-call {
    display: block; }
  .vocal-feedback-panel[test='on'] {
    background: #9ee2df; }
  .vocal-feedback-panel[feedback="right"] {
    background: #69AF73; }
  .vocal-feedback-panel[feedback="wrong"] {
    background: #D94E49; }
  .vocal-feedback-panel .vocal-image {
    position: absolute;
    left: 10px;
    top: 8px; }
  .vocal-feedback-panel .vocal-led {
    position: absolute;
    left: 33px;
    top: 9px;
    color: #319b97;
    font-size: 10px; }
  .vocal-feedback-panel .vocal-call {
    display: none;
    position: absolute;
    color: #666;
    font-size: 13px;
    top: 22px;
    left: 44px; }
  .vocal-feedback-panel .vocal-waveform {
    position: absolute;
    left: 0;
    top: 0; }
  .vocal-feedback-panel .vocal-hit {
    position: absolute;
    top: 14px;
    font-size: 24px;
    width: 100%;
    text-align: center;
    color: #111; }
  .vocal-feedback-panel .vocal-note {
    position: absolute;
    top: 58px;
    left: 40px;
    font-size: 13px;
    color: #aaa; }

.clapping-feedback-panel {
  position: relative;
  cursor: pointer;
  transition: all .2s ease; }
  .clapping-feedback-panel[state="off"] .clapping-image {
    filter: grayscale(100%);
    opacity: .5; }
  .clapping-feedback-panel[state="off"] .clapping-feedback {
    opacity: 0; }
  .clapping-feedback-panel[state="off"] .clapping-call {
    display: block; }
  .clapping-feedback-panel .clapping-image {
    position: absolute;
    left: 10px;
    top: 8px; }
  .clapping-feedback-panel .clapping-call {
    display: none;
    position: absolute;
    color: #666;
    font-size: 13px;
    top: 22px;
    left: 44px; }

.dropdown-element {
  position: relative; }
  .dropdown-element[state="closed"] .dropdown-btns {
    display: block; }
  .dropdown-element .dropdown-btns {
    position: absolute;
    top: 30px;
    left: 0;
    width: 130px;
    height: auto;
    z-index: 3; }

.exercise-slider-div {
  display: inline-block; }
  .exercise-slider-div .exercise-slider {
    -webkit-appearance: none;
    /* Override default CSS styles */
    appearance: none;
    width: 100%;
    /* Full-width */
    height: 22px;
    /* Specified height */
    background: #d3d3d3;
    /* Grey background */
    outline: none;
    /* Remove outline */
    opacity: 0.7;
    /* Set transparency (for mouse-over effects on hover) */
    -webkit-transition: .2s;
    /* 0.2 seconds transition on hover */
    transition: opacity .2s; }
    .exercise-slider-div .exercise-slider:hover {
      opacity: 1;
      /* Fully shown on mouse-over */ }
    .exercise-slider-div .exercise-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      /* Override default look */
      appearance: none;
      width: 22px;
      /* Set a specific slider handle width */
      height: 22px;
      /* Slider handle height */
      background: #41B3AA;
      /* Green background */
      cursor: pointer;
      /* Cursor on hover */ }
    .exercise-slider-div .exercise-slider::-moz-range-thumb {
      width: 22px;
      /* Set a specific slider handle width */
      height: 22px;
      /* Slider handle height */
      background: #41B3AA;
      /* Green background */
      cursor: pointer;
      /* Cursor on hover */ }

.rhythm-question {
  position: relative;
  margin: 10px 0;
  padding: 10px 0; }
  .rhythm-question[rhythm-question="reading"] {
    height: 250px; }
  .rhythm-question[rhythm-question="listening"] {
    height: 330px; }
  .rhythm-question .rhythm-input-feedback {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 5px;
    width: 100%;
    height: 100%;
    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: #319b97;
      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: #999; }

.rhythm-instructions {
  text-align: center;
  width: 100%;
  margin: 15px 0;
  height: 20px; }
  .rhythm-instructions span {
    display: none;
    color: #222;
    font-size: 14px; }
    .rhythm-instructions span[wrong] {
      color: #DC504A; }
    .rhythm-instructions span[correct] {
      color: #69AF73; }

.rhythm-beatbox {
  width: 400px;
  margin: 10px auto;
  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: #fff;
    text-align: center;
    text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000; }
    .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 #444;
    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: inset 0 0 1px 0 #000; }
    .rhythm-beatbox .rhythm-beat[state="low"] {
      background: #50aaa0 !important; }
    .rhythm-beatbox .rhythm-beat[state="high"] {
      background: #18706b !important; }
  .rhythm-beatbox .rhythm-beatbox-line {
    position: relative;
    height: 34px; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-label {
      position: absolute;
      top: 0;
      width: 100px;
      font-size: 12px;
      line-height: 34px;
      color: #ccc;
      background: #555;
      box-shadow: 0 0 0 1px #333; }
    .rhythm-beatbox .rhythm-beatbox-line .rhythm-beatbox-beats {
      margin-left: 100px; }
    .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: #aaa; }
  .rhythm-beatbox .rhythm-beatbox-original .rhythm-beat {
    background: #ccc; }
  .rhythm-beatbox .rhythm-beatbox-yours .rhythm-beat {
    background: #ccc; }

.rhythm-listen-btns {
  text-align: center;
  margin: 15px auto; }
  .rhythm-listen-btns button {
    user-select: none;
    outline: none;
    line-height: 26px;
    text-align: center;
    border: none;
    font-size: 14px;
    color: #999;
    background: #ddd;
    font-weight: normal;
    padding: 0 8px;
    cursor: pointer;
    display: inline-block;
    margin-right: 6px; }
    .rhythm-listen-btns button[active="yes"] {
      cursor: pointer;
      color: #333;
      background: #eee; }
      .rhythm-listen-btns button[active="yes"]:hover {
        color: #111;
        background: #f5f5f5; }

.vocal-question {
  position: relative;
  margin-top: 15px; }
  .vocal-question .vocal-feedback {
    height: 110px;
    position: absolute;
    top: 15px; }
  .vocal-question .vocal-title {
    position: absolute;
    top: 15px;
    text-align: center;
    width: 100%;
    font-size: 16px; }
  .vocal-question .vocal-instructions {
    position: absolute;
    top: 55px;
    text-align: center;
    width: 100%; }
    .vocal-question .vocal-instructions span {
      display: none;
      color: #222;
      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: 140px;
    overflow: hidden;
    position: relative;
    margin-top: 30px; }
    .vocal-question .sheet-vocal .notation {
      margin: 0; }
      .vocal-question .sheet-vocal .notation path.abcjs-v1 {
        fill: transparent !important; }
      .vocal-question .sheet-vocal .notation path.abcjs-bar {
        fill: #666; }
      .vocal-question .sheet-vocal .notation path.abcjs-staff {
        fill: #666; }
    .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: 86px;
      left: 0;
      height: 2px;
      background: #41B3AA;
      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: 88px;
      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;
          font-size: 12px; }
          .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 {
          position: absolute;
          top: 6px;
          font-size: 8px; }
          .vocal-question .sheet-vocal .vocal-points [points] .hit[state="wrong"] {
            color: #DC504A; }
          .vocal-question .sheet-vocal .vocal-points [points] .hit[state="correct"] {
            color: #69AF73; }
  .vocal-question .tap-button {
    user-select: none;
    outline: none;
    line-height: 40px;
    text-align: center;
    border: none;
    font-size: 16px;
    font-weight: normal;
    padding: 0 15px;
    cursor: pointer;
    margin-right: 4px;
    display: inline-block; }
    .vocal-question .tap-button[state="none"] {
      background: #555;
      color: #ccc; }
    .vocal-question .tap-button[state="go"] {
      background: #319b97;
      color: #98eae6; }
    .vocal-question .tap-button[state="correct"] {
      background: #69AF73;
      color: #c4f2ca; }
    .vocal-question .tap-button[state="wrong"] {
      background: #D94E49;
      color: #ffc6c4; }
    .vocal-question .tap-button[pressed="yes"][active="yes"] {
      background: #18706b;
      color: #fff; }

.interval-singer-console {
  text-align: center; }
  .interval-singer-console .interval-singer-console-title {
    user-select: none;
    outline: none;
    font-size: 18px;
    height: 44px;
    line-height: 24px;
    font-weight: bold; }
    .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-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; }

[blur="yes"] {
  opacity: .2 !important; }

@keyframes blink-correct-btn {
  0% {
    background: #69AF73; }
  25% {
    background: #252525; }
  50% {
    background: #69AF73; }
  100% {
    background: #252525; } }
@keyframes blink-correct-btn {
  0% {
    background: #69AF73; }
  25% {
    background: #252525; }
  50% {
    background: #69AF73; }
  100% {
    background: #252525; } }
@keyframes blink-correct-chord {
  0% {
    background: #69AF73;
    color: #e2ffe6; }
  100% {
    background: #444;
    color: #999; } }
@keyframes blink-wrong-chord {
  0% {
    background: #D94E49;
    color: #ffdcdb; }
  100% {
    background: #48607c;
    color: #fff; } }
@keyframes blink-correct-once {
  0% {
    background: #69AF73; }
  100% {
    background: #222; } }
@keyframes blink-wrong-once {
  0% {
    background: #D94E49; }
  100% {
    background: #222; } }
@keyframes orbit {
  from {
    -webkit-transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg); } }
@keyframes metronome {
  0%, 100% {
    transform: rotate(35deg); }
  50% {
    transform: rotate(-35deg); } }
@keyframes stop-metronome {
  100% {
    transform: rotate(0deg); } }

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