@import url("https://fonts.googleapis.com/css?family=Noto+Sans");
.animated {
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

.spin {
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg); } }
@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(359deg); } }
* {
  font-family: 'Noto Sans', sans-serif; }

.exercise {
  position: relative;
  background: #050505;
  border-radius: 3px;
  height: 100vh;
  width: 100vw;
  margin: 0;
  padding: 5px; }
  .exercise .exercise-head {
    position: relative;
    height: 70px;
    padding: 10px;
    background: #252525;
    margin-bottom: 5px;
    border-radius: 3px; }
    .exercise .exercise-head .exercise-icon {
      position: absolute;
      left: 10px;
      top: 10px; }
      .exercise .exercise-head .exercise-icon img {
        width: 50px; }
    .exercise .exercise-head .exercise-details {
      position: absolute;
      left: 10px;
      top: 10px; }
      .exercise .exercise-head .exercise-details .title {
        font-size: 1.3em;
        color: #fff;
        margin-bottom: 4px; }
        .exercise .exercise-head .exercise-details .title small {
          font-size: .9em;
          color: #999; }
        .exercise .exercise-head .exercise-details .title .tag {
          margin-right: 4px;
          border-radius: 3px;
          padding: 0 5px;
          font-size: 1em;
          background: #444;
          transition: all .3s ease; }
          .exercise .exercise-head .exercise-details .title .tag[is-active="yes"] {
            background: #d94e49; }
      .exercise .exercise-head .exercise-details .tempo .speed {
        font-size: 1.2em;
        color: #999; }
      .exercise .exercise-head .exercise-details .tempo .beats {
        z-index: 1;
        font-size: 1.3em;
        color: #fff;
        display: inline-block; }
        .exercise .exercise-head .exercise-details .tempo .beats .beat {
          transition: all .2s ease;
          display: inline-block;
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: #111;
          margin: 2px;
          box-shadow: 0 0 0 1px #000, 0 0 3px 0 rgba(255, 255, 255, 0); }
          .exercise .exercise-head .exercise-details .tempo .beats .beat[active="yes"] {
            background: #fff;
            box-shadow: 0 0 0 1px #000, 0 0 3px 0 rgba(255, 255, 255, 0.5); }
    .exercise .exercise-head .exercise-clock {
      font-size: 1.5em;
      color: #fff;
      position: absolute;
      right: 10px; }
    .exercise .exercise-head .fi {
      vertical-align: -2px;
      font-size: 85%; }
  .exercise .exercise-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; }
    .exercise .exercise-cover[show="yes"] {
      display: block; }
    .exercise .exercise-cover .exercise-panel-title {
      font-size: 1.7em;
      color: #fff;
      margin-top: 30px; }
    .exercise .exercise-cover .exercise-panel-subtitle {
      margin-top: 10px;
      font-size: 1.1em;
      color: #999; }
    .exercise .exercise-cover .exercise-panel-icon {
      display: block;
      height: 100px;
      text-align: center;
      cursor: pointer;
      margin: 60px auto 30px; }
      .exercise .exercise-cover .exercise-panel-icon [fresh] {
        transition: all .2s ease;
        color: #999;
        font-size: 100px;
        line-height: 100px;
        display: block; }
      .exercise .exercise-cover .exercise-panel-icon [loading] {
        display: none; }
        .exercise .exercise-cover .exercise-panel-icon [loading] svg {
          width: 100px;
          height: 100px; }
      .exercise .exercise-cover .exercise-panel-icon:hover [fresh] {
        color: #fff; }
      .exercise .exercise-cover .exercise-panel-icon[state="loading"] [fresh] {
        display: none; }
      .exercise .exercise-cover .exercise-panel-icon[state="loading"] [loading] {
        display: block; }
      .exercise .exercise-cover .exercise-panel-icon .check {
        color: #999;
        font-size: 100px;
        line-height: 100px;
        display: block; }

.mic-toggle-btn {
  font-size: 20px;
  cursor: pointer;
  color: #666;
  background: transparent !important; }
  .mic-toggle-btn:hover {
    background: transparent !important; }
  .mic-toggle-btn .led {
    color: #666;
    font-size: 8px;
    vertical-align: top;
    margin-left: 3px; }
  .mic-toggle-btn[is-active="yes"] {
    color: #fff; }
    .mic-toggle-btn[is-active="yes"] .led {
      color: #9E4351; }

.track-map {
  margin: 20px 10px 2px; }
  .track-map .part {
    margin: 0 10px 10px 0;
    display: inline-block;
    background: #222;
    padding: 10px;
    border-radius: 3px; }
    .track-map .part .part-title {
      margin-bottom: 8px;
      text-indent: 3px;
      font-size: 1.3em;
      color: #777; }
    .track-map .part .part-chords button {
      background: #333;
      color: #999;
      height: 54px;
      font-size: 28px;
      line-height: 38px;
      margin: 0 4px 4px 0;
      padding: 8px 12px;
      transition: all .2s ease;
      border-radius: 3px;
      border: none;
      outline: none; }
      .track-map .part .part-chords button:hover {
        background: #444;
        color: #fff; }
      .track-map .part .part-chords button[active="yes"] {
        color: #fff;
        background: #7F576E; }
        .track-map .part .part-chords button[active="yes"] small {
          color: #fff; }

@keyframes reveal {
  0% {
    background: rgba(0, 0, 0, 0.3);
    border-color: #69af73; }
  25% {
    background: rgba(0, 0, 0, 0.3);
    border-color: rgba(0, 0, 0, 0.3); }
  50% {
    background: rgba(0, 0, 0, 0.3);
    border-color: #69af73; }
  100% {
    background: rgba(0, 0, 0, 0.3);
    border-color: rgba(0, 0, 0, 0.3); } }
.game-page .game-panel {
  position: relative;
  margin: 0 auto;
  padding: 0;
  background: #151515;
  color: #fff;
  overflow: hidden;
  max-width: 750px; }
  .game-page .game-panel[btns="no"] .game-panel-body {
    height: calc(100% - 170px); }
  .game-page .game-panel[btns="no"] .game-panel-btns {
    height: 0; }
  .game-page .game-panel.onboarding {
    border-radius: 0;
    margin: 0 0 15px 0;
    background: #111; }
  .game-page .game-panel .game-panel-info, .game-page .game-panel .game-panel-titlebox, .game-page .game-panel .game-panel-body, .game-page .game-panel .game-panel-btns {
    box-shadow: inset 0 0 1px #000;
    margin: auto;
    position: relative; }
  .game-page .game-panel .game-panel-info {
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    padding: 7px 10px;
    font-size: 1.2em; }
    .game-page .game-panel .game-panel-info small {
      font-size: .9em; }
    .game-page .game-panel .game-panel-info .lives i {
      margin: 0 3px; }
    .game-page .game-panel .game-panel-info .exit-game-btn {
      position: absolute;
      left: 15px;
      top: 0;
      font-size: 40px;
      line-height: 40px;
      color: #999; }
      .game-page .game-panel .game-panel-info .exit-game-btn:hover {
        transition: all .1s ease;
        color: #fff; }
    .game-page .game-panel .game-panel-info .game-panel-info-mic[used="yes"] .fa-microphone {
      color: #3caea3; }
    .game-page .game-panel .game-panel-info .game-panel-info-mic .fa-microphone {
      font-size: 25px;
      line-height: 50px;
      color: #777;
      width: 15px; }
    .game-page .game-panel .game-panel-info .game-panel-info-mic .fa-circle {
      font-size: 6px;
      line-height: 30px;
      color: #bc4f4f;
      vertical-align: top; }
  .game-page .game-panel .game-panel-foot {
    height: 44px;
    line-height: 26px;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px;
    font-size: 1em; }
  .game-page .game-panel .game-panel-titlebox {
    height: 60px;
    line-height: 60px;
    font-size: 1.4em;
    text-align: center; }
    .game-page .game-panel .game-panel-titlebox .highlight {
      color: #ffdfbb; }
    .game-page .game-panel .game-panel-titlebox .comment {
      font-size: 80%;
      color: #999; }
  .game-page .game-panel .game-panel-body {
    height: calc(100% - 190px); }
  .game-page .game-panel .game-panel-btns {
    padding-top: 20px;
    height: 100px; }
  .game-page .game-panel[compare='on'] {
    background: #222; }
    .game-page .game-panel[compare='on'] .game-panel-header .game-panel-compare {
      display: block; }
    .game-page .game-panel[compare='on'] .game-panel-body {
      background: #000; }
  .game-page .game-panel .game-panel-titlebox {
    font-size: 1.3em; }
    .game-page .game-panel .game-panel-titlebox .panel-icon {
      position: absolute;
      right: 12px;
      top: 12px;
      width: 36px;
      border-radius: 2px; }
    .game-page .game-panel .game-panel-titlebox .panel-titlebox-btn {
      border: none;
      background: none;
      outline: none;
      user-select: none;
      font-size: 22px;
      transition: all .1s ease;
      color: rgba(255, 255, 255, 0.5); }
      .game-page .game-panel .game-panel-titlebox .panel-titlebox-btn:hover {
        color: rgba(255, 255, 255, 0.9); }
      .game-page .game-panel .game-panel-titlebox .panel-titlebox-btn[state="inactive"] {
        color: rgba(255, 255, 255, 0.2);
        cursor: default; }
      .game-page .game-panel .game-panel-titlebox .panel-titlebox-btn[state="playing"] {
        color: #fff;
        text-shadow: 0 0 15px #fff; }
    .game-page .game-panel .game-panel-titlebox .indication {
      font-size: .5em;
      color: #999;
      margin: 0 2px; }
      .game-page .game-panel .game-panel-titlebox .indication[state="correct"] {
        color: #69AF73; }
    .game-page .game-panel .game-panel-titlebox small {
      font-size: .8em;
      color: inherit;
      line-height: 1.7em; }
    .game-page .game-panel .game-panel-titlebox .small {
      font-size: .8em;
      color: #999;
      line-height: 1.7em; }
    .game-page .game-panel .game-panel-titlebox .interval-point-item {
      display: inline-block;
      width: 32px;
      height: 32px;
      line-height: 32px;
      margin-right: 8px;
      transition: all 0.1s ease;
      border-radius: 50%;
      text-align: center;
      background: rgba(255, 255, 255, 0.3);
      font-size: 16px;
      font-weight: bold;
      color: rgba(255, 255, 255, 0.7);
      cursor: default;
      position: relative; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item .fa-arrow-up {
        font-size: 12px;
        position: absolute;
        left: 13px;
        top: -3px; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item .fa-arrow-down {
        font-size: 12px;
        position: absolute;
        left: 13px;
        top: 27px; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[correct="yes"] {
        background: #69af73; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[correct="wrong"] {
        background: #d94e49; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[first="yes"] {
        background: rgba(255, 255, 255, 0.2); }
        .game-page .game-panel .game-panel-titlebox .interval-point-item[first="yes"][is-playing="yes"] {
          color: #fac075; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[is-active="yes"] {
        background: rgba(255, 255, 255, 0.3);
        box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6);
        color: white;
        text-shadow: 1px 1px black, 0 0 5px black; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[is-playing="yes"] {
        background: #fac075; }
      .game-page .game-panel .game-panel-titlebox .interval-point-item[used="yes"] {
        background: #3caea3; }
    .game-page .game-panel .game-panel-titlebox [color="1"] {
      color: #FAFABE; }
    .game-page .game-panel .game-panel-titlebox [color="2"] {
      color: #F6CA94; }
    .game-page .game-panel .game-panel-titlebox [color="3"] {
      color: #F09EA7; }
    .game-page .game-panel .game-panel-titlebox [color="4"] {
      color: #C1EBC0; }
    .game-page .game-panel .game-panel-titlebox [color="5"] {
      color: #C7CAFF; }
    .game-page .game-panel .game-panel-titlebox [color="6"] {
      color: #CDABEB; }
    .game-page .game-panel .game-panel-titlebox [color="7"] {
      color: #F6C2F4; }
  .game-page .game-panel .game-panel-btns {
    z-index: 1;
    text-align: center; }
    .game-page .game-panel .game-panel-btns .game-continue-btns {
      position: absolute;
      left: 50%;
      bottom: -46px;
      text-align: center;
      width: 280px;
      margin-left: -140px;
      z-index: 1; }
      .game-page .game-panel .game-panel-btns .game-continue-btns[show="no"] {
        display: none; }
    .game-page .game-panel .game-panel-btns .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-page .game-panel .game-panel-btns .game-compare-panel[show="no"] {
        display: none; }
      .game-page .game-panel .game-panel-btns .game-compare-panel .game-compare-panel-btn {
        position: absolute;
        left: 20px;
        top: 16px;
        z-index: 3; }
      .game-page .game-panel .game-panel-btns .game-compare-panel .game-compare-panel-meter {
        position: absolute;
        right: 20px;
        top: 7px;
        z-index: 3; }
    .game-page .game-panel .game-panel-btns .game-helper-panel, .game-page .game-panel .game-panel-btns .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-page .game-panel .game-panel-btns .game-helper-panel .helper-label, .game-page .game-panel .game-panel-btns .game-helper-back-panel .helper-label {
        font-size: 13px;
        color: #999;
        position: absolute;
        top: 4px;
        text-align: center;
        width: 100%; }
      .game-page .game-panel .game-panel-btns .game-helper-panel .game-helper-back-panel-btn, .game-page .game-panel .game-panel-btns .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-page .game-panel .game-panel-btns .game-helper-panel .game-helper-panel-btn, .game-page .game-panel .game-panel-btns .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-page .game-panel .game-panel-btns .game-helper-panel .game-helper-panel-btn small, .game-page .game-panel .game-panel-btns .game-helper-back-panel .game-helper-panel-btn small {
          font-size: 13px; }
        .game-page .game-panel .game-panel-btns .game-helper-panel .game-helper-panel-btn:focus, .game-page .game-panel .game-panel-btns .game-helper-back-panel .game-helper-panel-btn:focus {
          outline: none; }
        .game-page .game-panel .game-panel-btns .game-helper-panel .game-helper-panel-btn:hover, .game-page .game-panel .game-panel-btns .game-helper-back-panel .game-helper-panel-btn:hover {
          color: #fff; }
          .game-page .game-panel .game-panel-btns .game-helper-panel .game-helper-panel-btn:hover .helper-label, .game-page .game-panel .game-panel-btns .game-helper-back-panel .game-helper-panel-btn:hover .helper-label {
            color: #999; }
      .game-page .game-panel .game-panel-btns .game-helper-panel[show="no"], .game-page .game-panel .game-panel-btns .game-helper-back-panel[show="no"] {
        display: none; }
    .game-page .game-panel .game-panel-btns .game-panel-body-answer {
      margin-top: 10px;
      text-align: center;
      background: #555; }
    .game-page .game-panel .game-panel-btns .panel-icon {
      position: absolute;
      left: 17px;
      top: 2px;
      width: 37px;
      border-radius: 2px; }
  .game-page .game-panel .tempo-slider {
    position: absolute;
    right: 15px;
    top: 10px;
    height: 50px; }
    .game-page .game-panel .tempo-slider .subtitle {
      color: #999;
      text-transform: uppercase;
      margin-right: 8px;
      line-height: 50px; }
    .game-page .game-panel .tempo-slider [slider] {
      display: inline-block;
      width: 100px;
      margin-top: 15px;
      margin-bottom: 5px;
      background: #333;
      border-radius: 3px;
      vertical-align: top; }
      .game-page .game-panel .tempo-slider [slider] .machine-slider-label {
        font-size: 12px;
        color: #999;
        position: absolute;
        bottom: -20px;
        left: 0; }
      .game-page .game-panel .tempo-slider [slider] .noUi-target {
        background: #444751; }
      .game-page .game-panel .tempo-slider [slider] .noUi-connect {
        background: #eee; }
      .game-page .game-panel .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;
        right: -10px !important; }
        .game-page .game-panel .tempo-slider [slider] .noUi-handle:before {
          display: none; }
        .game-page .game-panel .tempo-slider [slider] .noUi-handle:after {
          display: none; }
        .game-page .game-panel .tempo-slider [slider] .noUi-handle.noUi-active {
          box-shadow: 0 0 0 2px #eee, 0 0 0 4px #333; }
  .game-page .game-panel .game-panel-fretboard {
    height: 60%; }
  .game-page .game-panel .game-panel-feedback .game-cover {
    display: none;
    background: #151515;
    border-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    z-index: 2;
    text-align: center;
    padding: 60px 15px 15px 15px; }
    .game-page .game-panel .game-panel-feedback .game-cover.active {
      display: block; }
    .game-page .game-panel .game-panel-feedback .game-cover > div {
      padding-top: 10px;
      position: relative; }
    .game-page .game-panel .game-panel-feedback .game-cover .game-panel-title {
      font-size: 20px;
      color: #fff; }
    .game-page .game-panel .game-panel-feedback .game-cover .game-panel-text {
      font-size: 16px;
      color: #ccc; }
    .game-page .game-panel .game-panel-feedback .game-cover .game-panel-small {
      font-size: 14px;
      color: #ccc; }
    .game-page .game-panel .game-panel-feedback .game-cover .game-panel-cover-btn {
      margin: 15px 0 5px;
      cursor: pointer; }
  .game-page .game-panel .game-panel-feedback .game-cleared.game-cover, .game-page .game-panel .game-panel-feedback .game-over.game-cover {
    background: rgba(0, 0, 0, 0.85); }
  .game-page .game-panel .game-panel-inactive {
    display: none;
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3; }
    .game-page .game-panel .game-panel-inactive.active {
      display: table; }
.game-page .fretboard {
  margin: 0;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: #383838;
  border-radius: 3px; }
  .game-page .fretboard[fretboard-layout="1"] {
    -moz-transform: scale(-1, -1);
    -o-transform: scale(-1, -1);
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1); }
    .game-page .fretboard[fretboard-layout="1"] .point .point-circle .point-icon {
      -moz-transform: scale(-1, -1);
      -o-transform: scale(-1, -1);
      -webkit-transform: scale(-1, -1);
      transform: scale(-1, -1); }
  .game-page .fretboard[fretboard-layout="2"] {
    -moz-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1); }
    .game-page .fretboard[fretboard-layout="2"] .point .point-circle .point-icon {
      -moz-transform: scale(1, -1);
      -o-transform: scale(1, -1);
      -webkit-transform: scale(1, -1);
      transform: scale(1, -1); }
  .game-page .fretboard[fretboard-layout="3"] {
    -moz-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1); }
    .game-page .fretboard[fretboard-layout="3"] .point .point-circle .point-icon {
      -moz-transform: scale(-1, 1);
      -o-transform: scale(-1, 1);
      -webkit-transform: scale(-1, 1);
      transform: scale(-1, 1); }
  .game-page .fretboard .fret {
    border-right: 1px solid transparent;
    display: block;
    float: left;
    position: relative;
    height: 100%;
    width: 6.25%; }
    .game-page .fretboard .fret[fret="0"] {
      border-right: 6px solid transparent; }
  .game-page .fretboard[size="5"] .fret {
    width: 20%; }
  .game-page .fretboard .point {
    position: absolute;
    width: 100%;
    text-align: center;
    transition: all 0.1s ease; }
    .game-page .fretboard .point .point-circle {
      transition: all 0.1s ease;
      width: 28px;
      height: 28px;
      margin-top: -14px;
      display: inline-block;
      border-radius: 50%;
      opacity: 0;
      border: 14px solid rgba(0, 0, 0, 0.6);
      text-align: center; }
      .game-page .fretboard .point .point-circle .point-label {
        font-size: 16px;
        line-height: 0;
        font-weight: bold;
        color: #fff;
        text-align: center;
        text-shadow: 1px 1px #000, 0 0 5px #000;
        margin-left: -4px; }
      .game-page .fretboard .point .point-circle .point-icon {
        min-width: 18px;
        min-height: 14px;
        line-height: 14px;
        font-weight: bold;
        text-align: center;
        background: #fff;
        border-radius: 3px;
        color: #111;
        position: absolute;
        font-size: 12px;
        box-shadow: 0 0 1px 1px #000;
        top: 2px;
        left: 50%; }
      .game-page .fretboard .point .point-circle .point-note {
        font-size: 15px;
        font-weight: bold;
        width: 100%;
        color: #fff;
        text-align: center;
        text-shadow: 1px 1px #000, 0 0 5px #000;
        position: absolute;
        top: -10px;
        left: 0;
        cursor: default; }
      .game-page .fretboard .point .point-circle .point-fret {
        min-width: 18px;
        min-height: 16px;
        line-height: 16px;
        font-weight: bold;
        text-align: center;
        background: #fff;
        border-radius: 3px;
        color: #111;
        font-size: 12px;
        box-shadow: 0 0 1px 1px #000;
        position: absolute;
        bottom: 2px;
        padding: 0 2px;
        left: 45%;
        margin-left: 11px;
        cursor: default; }
      .game-page .fretboard .point .point-circle .point-direction {
        width: 18px;
        font-size: 18px;
        text-align: center;
        color: #fff;
        text-shadow: 1px 1px #000, 0 0 5px #000, 0 0 8px #000;
        position: absolute;
        top: 2px;
        left: 50%;
        margin-left: -26px; }
        .game-page .fretboard .point .point-circle .point-direction .start {
          color: #548C70; }
        .game-page .fretboard .point .point-circle .point-direction .end {
          color: #ccc; }
        .game-page .fretboard .point .point-circle .point-direction .fa-map-pin {
          transform: rotate(-60deg); }
    .game-page .fretboard .point[fret="0"] .point-circle {
      border: 6px solid rgba(0, 0, 0, 0.3); }
    .game-page .fretboard .point[show="yes"] .point-circle {
      opacity: 1; }
    .game-page .fretboard .point[active="yes"] .point-circle {
      cursor: pointer;
      user-select: none; }
      .game-page .fretboard .point[active="yes"] .point-circle:hover {
        box-shadow: 0 0 0 2px #aaa; }
    .game-page .fretboard .point[optional="yes"] {
      cursor: pointer;
      user-select: none; }
      .game-page .fretboard .point[optional="yes"] .point-circle {
        box-shadow: 0 0 0 2px #aaa; }
        .game-page .fretboard .point[optional="yes"] .point-circle:hover {
          box-shadow: 0 0 0 2px #eee; }
    .game-page .fretboard .point[play="yes"] .point-circle {
      box-shadow: 0 0 2px 4px #fac075 !important; }
    .game-page .fretboard .point[is-playing="yes"] .point-circle .point-note {
      color: #fac075; }
    .game-page .fretboard .point[color="none"] .point-circle {
      background: rgba(0, 0, 0, 0);
      border-color: rgba(0, 0, 0, 0);
      box-shadow: 0 0 0 2px #555; }
    .game-page .fretboard .point[color="black"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: rgba(0, 0, 0, 0.3); }
    .game-page .fretboard .point[color="white"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #969696; }
    .game-page .fretboard .point[color="grey"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #646464; }
    .game-page .fretboard .point[color="red"] .point-circle, .game-page .fretboard .point[color="wrong"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #d94e49; }
    .game-page .fretboard .point[color="green"] .point-circle, .game-page .fretboard .point[color="correct"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #69af73; }
    .game-page .fretboard .point[color="reveal"] .point-circle {
      animation: reveal 1s; }
    .game-page .fretboard .point[color="pink"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #aa759b; }
    .game-page .fretboard .point[color="beige"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #c8a499; }
    .game-page .fretboard .point[color="f1"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #fac075; }
    .game-page .fretboard .point[color="f1a"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #ffdfbb; }
    .game-page .fretboard .point[color="f2"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #9242c1; }
    .game-page .fretboard .point[color="f3"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #3caea3; }
    .game-page .fretboard .point[color="f4"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #20639b; }
    .game-page .fretboard .point[color="f5"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #656093; }
    .game-page .fretboard .point[color="f5a"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #b5aeee; }
    .game-page .fretboard .point[color="finger1"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #BA4242; }
    .game-page .fretboard .point[color="finger2"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #7A5FDD; }
    .game-page .fretboard .point[color="finger3"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #3F7762; }
    .game-page .fretboard .point[color="finger4"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #42AFB5; }
    .game-page .fretboard .point[color="gg1"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #089b88; }
    .game-page .fretboard .point[color="gg1a"] .point-circle {
      background: rgba(0, 0, 0, 0.3);
      border-color: #1cc9b2; }
    .game-page .fretboard .point[string="1"] {
      top: 8.333%; }
    .game-page .fretboard .point[string="2"] {
      top: 25%; }
    .game-page .fretboard .point[string="3"] {
      top: 41.666%; }
    .game-page .fretboard .point[string="4"] {
      top: 58.333%; }
    .game-page .fretboard .point[string="5"] {
      top: 75%; }
    .game-page .fretboard .point[string="6"] {
      top: 91.666%; }
  .game-page .fretboard .bar {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center; }
    .game-page .fretboard .bar .bar-line {
      opacity: 0;
      display: inline-block;
      width: 28px;
      border-radius: 2px;
      background: rgba(34, 34, 34, 0);
      border: 6px solid rgba(34, 34, 34, 0); }
    .game-page .fretboard .bar[show="yes"] .bar-line {
      opacity: 1; }
    .game-page .fretboard .bar[color="none"] .bar-line {
      background: rgba(0, 0, 0, 0); }
    .game-page .fretboard .bar[color="black"] .bar-line {
      background: rgba(0, 0, 0, 0.3); }
    .game-page .fretboard .bar[color="white"] .bar-line {
      background: #969696; }
    .game-page .fretboard .bar[color="red"] .bar-line {
      background: #d94e49; }
    .game-page .fretboard .bar[color="green"] .bar-line {
      background: #69af73; }
    .game-page .fretboard .bar[color="pink"] .bar-line {
      background: #aa759b; }
    .game-page .fretboard .bar[color="beige"] .bar-line {
      background: #c8a499; }
    .game-page .fretboard .bar[color="f1"] .bar-line {
      background: #fac075; }
    .game-page .fretboard .bar[color="f1a"] .bar-line {
      background: #ffdfbb; }
    .game-page .fretboard .bar[color="f2"] .bar-line {
      background: #9242c1; }
    .game-page .fretboard .bar[color="f3"] .bar-line {
      background: #3caea3; }
    .game-page .fretboard .bar[color="f4"] .bar-line {
      background: #20639b; }
    .game-page .fretboard .bar[color="f5"] .bar-line {
      background: #656093; }
    .game-page .fretboard .bar[color="f5a"] .bar-line {
      background: #b5aeee; }
    .game-page .fretboard .bar[bar="6-1"], .game-page .fretboard .bar[bar="5-1"], .game-page .fretboard .bar[bar="4-1"], .game-page .fretboard .bar[bar="3-1"], .game-page .fretboard .bar[bar="2-1"] {
      top: 8.333%; }
    .game-page .fretboard .bar[bar="6-2"], .game-page .fretboard .bar[bar="5-2"], .game-page .fretboard .bar[bar="4-2"], .game-page .fretboard .bar[bar="3-2"] {
      top: 25%; }
    .game-page .fretboard .bar[bar="6-3"], .game-page .fretboard .bar[bar="5-3"], .game-page .fretboard .bar[bar="4-3"] {
      top: 41.666%; }
    .game-page .fretboard .bar[bar="6-4"], .game-page .fretboard .bar[bar="5-4"] {
      top: 58.333%; }
    .game-page .fretboard .bar[bar="6-5"] {
      top: 75%; }
    .game-page .fretboard .bar .bar-2-1, .game-page .fretboard .bar .bar-3-2, .game-page .fretboard .bar .bar-4-3, .game-page .fretboard .bar .bar-5-4, .game-page .fretboard .bar .bar-6-5 {
      height: 16.666%; }
    .game-page .fretboard .bar .bar-3-1, .game-page .fretboard .bar .bar-4-2, .game-page .fretboard .bar .bar-5-3, .game-page .fretboard .bar .bar-6-4 {
      height: 33.333%; }
    .game-page .fretboard .bar .bar-4-1, .game-page .fretboard .bar .bar-5-2, .game-page .fretboard .bar .bar-6-3 {
      height: 50%; }
    .game-page .fretboard .bar .bar-5-1, .game-page .fretboard .bar .bar-6-2 {
      height: 66.666%; }
    .game-page .fretboard .bar .bar-6-1 {
      height: 83.333%; }
  .game-page .fretboard .neck {
    height: 100%; }
    .game-page .fretboard .neck .fret {
      height: 100%;
      border-right: 1px solid #564a39;
      box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.5); }
      .game-page .fretboard .neck .fret[fret="0"] {
        background: rgba(80, 10, 0, 0.2);
        border-right: 6px solid #b8b092; }
    .game-page .fretboard .neck .marker {
      position: absolute;
      width: 100%;
      height: 100%;
      text-align: center; }
      .game-page .fretboard .neck .marker .marker-1, .game-page .fretboard .neck .marker .marker-2, .game-page .fretboard .neck .marker .marker-3 {
        position: absolute;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(243, 231, 200, 0.25);
        margin-left: -5px;
        margin-top: -5px; }
      .game-page .fretboard .neck .marker .marker-1 {
        top: 50%; }
      .game-page .fretboard .neck .marker .marker-2 {
        top: 33.333%; }
      .game-page .fretboard .neck .marker .marker-3 {
        top: 66.666%; }
  .game-page .fretboard .strings .string {
    position: absolute;
    width: 100%;
    left: 0;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    background: #fff;
    opacity: .1;
    height: 6px; }
    .game-page .fretboard .strings .string[active="yes"] {
      opacity: .9; }
    .game-page .fretboard .strings .string[highlight="yes"] {
      background: #fac075;
      opacity: .9; }
    .game-page .fretboard .strings .string[picking="yes"] {
      background: #88E6FC;
      opacity: .9; }
    .game-page .fretboard .strings .string[playing="yes"] {
      opacity: .5; }
    .game-page .fretboard .strings .string[string="1"] {
      top: 8.333%;
      height: 3px;
      margin-top: -1.5px; }
    .game-page .fretboard .strings .string[string="2"] {
      top: 25%;
      height: 4px;
      margin-top: -2px; }
    .game-page .fretboard .strings .string[string="3"] {
      top: 41.666%;
      height: 4px;
      margin-top: -2px; }
    .game-page .fretboard .strings .string[string="4"] {
      top: 58.333%;
      height: 4px;
      margin-top: -2px; }
    .game-page .fretboard .strings .string[string="5"] {
      top: 75%;
      height: 5px;
      margin-top: -2.5px; }
    .game-page .fretboard .strings .string[string="6"] {
      top: 91.666%;
      height: 6px;
      margin-top: -3px; }
    .game-page .fretboard .strings .string .pick {
      height: 35px;
      width: 35px;
      background: #d94e49;
      border-top-right-radius: 50%;
      border-top-left-radius: 50% 100%;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 100% 50%;
      box-shadow: 0 0 1px 1px #000;
      padding: 10px;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      color: #fff;
      text-shadow: 1px 1px #000, 0 0 5px #000;
      position: absolute;
      right: 8px;
      top: -20px;
      opacity: 0;
      transition: all .1s ease; }
    .game-page .fretboard .strings .string[pick="yes"] .pick {
      opacity: 1; }
  .game-page .fretboard .strings .closed-string {
    position: absolute;
    left: -2px;
    width: 6%;
    text-align: center;
    transition: all 0.3s ease;
    opacity: 0;
    color: #fff;
    font-size: 20px; }
    .game-page .fretboard .strings .closed-string[active="yes"] {
      opacity: .9; }
    .game-page .fretboard .strings .closed-string[closed-string="1"] {
      top: 6px; }
    .game-page .fretboard .strings .closed-string[closed-string="2"] {
      top: 46px; }
    .game-page .fretboard .strings .closed-string[closed-string="3"] {
      top: 86px; }
    .game-page .fretboard .strings .closed-string[closed-string="4"] {
      top: 126px; }
    .game-page .fretboard .strings .closed-string[closed-string="5"] {
      top: 166px; }
    .game-page .fretboard .strings .closed-string[closed-string="6"] {
      top: 206px; }
  .game-page .fretboard .points {
    font-size: 0;
    margin: 0 auto;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
  .game-page .fretboard .gpick {
    position: absolute;
    right: 40px; }
    .game-page .fretboard .gpick .gpick-txt {
      position: relative;
      bottom: 44px;
      left: 0;
      width: 65px;
      text-align: center;
      font-size: .9em; }
    .game-page .fretboard .gpick .gpick-pick {
      transition: all .1s ease;
      height: 70px;
      width: 70px;
      background: #d94e49;
      border-top-right-radius: 50%;
      border-top-left-radius: 50% 100%;
      border-bottom-left-radius: 5px;
      border-bottom-right-radius: 100% 50%; }
    .game-page .fretboard .gpick[show="no"] {
      display: none; }
    .game-page .fretboard .gpick[direction="up"] .gpick-pick {
      transform: rotate(20deg); }
    .game-page .fretboard .gpick[direction="down"] .gpick-pick {
      transform: rotate(50deg); }
    .game-page .fretboard .gpick[string="6"] {
      bottom: -25px; }
    .game-page .fretboard .gpick[string="5"] {
      bottom: 15px; }
    .game-page .fretboard .gpick[string="4"] {
      bottom: 55px; }
    .game-page .fretboard .gpick[string="3"] {
      bottom: 95px; }
    .game-page .fretboard .gpick[string="2"] {
      bottom: 135px; }
    .game-page .fretboard .gpick[string="1"] {
      bottom: 175px; }
.game-page .one-string {
  text-align: center; }
  .game-page .one-string .one-string-note {
    transition: all 0.1s ease;
    width: 36px;
    height: 36px;
    line-height: 30px;
    font-size: 18px;
    display: inline-block;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    background: rgba(255, 255, 255, 0.3);
    margin: 2px; }
    .game-page .one-string .one-string-note[playing="yes"] {
      background: #1cc9b2; }
.game-page .guitar-melody-tiles {
  text-align: center;
  font-size: 0; }
  .game-page .guitar-melody-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;
    vertical-align: top; }
    .game-page .guitar-melody-tiles .tile[size="1"] {
      width: 50px; }
    .game-page .guitar-melody-tiles .tile[size="2"] {
      width: 100px; }
    .game-page .guitar-melody-tiles .tile[size="3"] {
      width: 150px; }
    .game-page .guitar-melody-tiles .tile[size="4"] {
      width: 200px; }
    .game-page .guitar-melody-tiles .tile[playing="yes"] {
      background: #fac075; }
    .game-page .guitar-melody-tiles .tile[answer="correct"] {
      background: #548C70; }
    .game-page .guitar-melody-tiles .tile[answer="wrong"] {
      background: #D94E49; }

.cannon {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 350px;
  display: block;
  overflow: hidden; }
  .cannon .cannon-guitar {
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 200px;
    height: 200px;
    margin-left: -100px;
    transform-origin: center bottom;
    transition: all .05s ease; }
  .cannon .cannon-canvas {
    width: 100%;
    height: 350px; }

@media screen and (orientation: portrait) {
  .game-page .game-panel {
    max-height: none !important;
    padding: 0; }
    .game-page .game-panel .fretboard {
      transform: rotate(90deg);
      height: 90vw;
      width: 140vw;
      margin: 100px -20vw; }
      .game-page .game-panel .fretboard .point .point-circle .point-note, .game-page .game-panel .fretboard .point .point-circle .point-icon {
        transform: rotate(-90deg); }
    .game-page .game-panel .game-panel-btns .radio-keys [key] {
      min-width: 34px;
      height: 2em;
      line-height: 2em; } }
@media (min-width: 1200px) {
  .game-page .fretboard .point .point-circle {
    width: 36px;
    height: 36px;
    margin-top: -18px;
    display: inline-block;
    border-radius: 50%;
    opacity: 0;
    border: 18px solid rgba(0, 0, 0, 0.6);
    text-align: center; }
  .game-page .fretboard .bar .bar-line {
    width: 36px; }
  .game-page .game-panel .game-panel-titlebox {
    font-size: 1.5em; } }

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