/**
 * Main stylesheet for Audible Genius Embed
 * Imports all necessary LESS files from the main app
 */
/**
 * Local font overrides for embed
 * Replaces CloudFront URLs with local paths to avoid CORS issues
 */
/**
 * Audible Genius Embed Styles
 * Minimal, clean styling for the embeddable player
 */
/* Fix checkBox .blkDot centering — the Meteor app has a global CSS reset that affects
   inline-block positioning; the embed doesn't. Use flexbox on .gradio to center the dot
   reliably without relying on px offsets or line-height. */
checkBox .gradio {
  display: flex;
  align-items: center;
  justify-content: center;
}
checkBox .gradio .blkDot {
  position: static;
  box-sizing: border-box;
  top: auto;
  left: auto;
  transform: none;
}
/* Fix iOS Safari native button styling on the audioStartPopup play button */
.start-button {
  -webkit-appearance: none;
  appearance: none;
}
/* Embed-specific layout tweaks */
control#preset controlLabel {
  top: -56px !important;
}
control#presetCredit {
  top: 61px !important;
}
.ag-embed-studio {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* Header Controls */
.ag-embed-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}
.ag-controls {
  display: flex;
  gap: 8px;
}
.ag-btn {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  backdrop-filter: blur(10px);
}
.ag-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.ag-btn:active {
  transform: translateY(0);
}
.ag-btn-play .ag-icon {
  font-size: 16px;
}
.ag-info {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
}
.ag-tempo, .ag-time {
  background: rgba(0, 0, 0, 0.2);
  padding: 6px 12px;
  border-radius: 4px;
}
/* Timeline and Tracks */
.ag-tracks-container {
  background: #ffffff;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 500px;
  position: relative;
}
.ag-timeline-header {
  position: sticky;
  top: 0;
  background: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
  z-index: 10;
  padding: 8px 0;
}
.ag-timeline-markers {
  display: flex;
  position: relative;
  height: 30px;
  padding-left: 150px; /* Space for track headers */
}
.ag-bar-marker {
  position: absolute;
  top: 0;
  font-size: 12px;
  font-weight: 600;
  color: #495057;
  padding: 4px 8px;
  background: #e9ecef;
  border-radius: 4px;
}
/* Tracks */
.ag-tracks-list {
  position: relative;
}
.ag-track {
  display: flex;
  border-bottom: 1px solid #dee2e6;
  position: relative;
}
.ag-track-header {
  width: 150px;
  min-width: 150px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  background: #3498db;
  color: white;
  border-right: 2px solid rgba(255, 255, 255, 0.3);
}
.ag-track-name {
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-track-info {
  font-size: 11px;
  opacity: 0.9;
}
.ag-track-content {
  position: relative;
  flex: 1;
  background: #ffffff;
}
/* Grid */
.ag-track-grid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.ag-grid-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
}
.ag-grid-beat {
  background: #e9ecef;
}
.ag-grid-bar {
  background: #adb5bd;
  width: 2px;
}
/* Notes */
.ag-note {
  position: absolute;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  cursor: default;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.1s ease;
}
.ag-note:hover {
  transform: scale(1.05);
  z-index: 5;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* Playhead */
.ag-playhead {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #e74c3c;
  z-index: 100;
  pointer-events: none;
  box-shadow: 0 0 8px rgba(231, 76, 60, 0.5);
  transition: left 0.05s linear;
  margin-left: 150px; /* Offset for track headers */
}
.ag-playhead::before {
  content: '';
  position: absolute;
  top: 0;
  left: -4px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #e74c3c;
}
/* Status */
.ag-status {
  padding: 8px 16px;
  font-size: 12px;
  text-align: center;
  background: #f8f9fa;
  color: #6c757d;
  border-top: 1px solid #dee2e6;
}
.ag-status-error {
  background: #f8d7da;
  color: #721c24;
}
/* Responsive */
@media (max-width: 768px) {
  .ag-embed-header {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }

  .ag-controls {
    justify-content: center;
  }

  .ag-info {
    justify-content: center;
  }

  .ag-track-header {
    width: 100px;
    min-width: 100px;
    padding: 8px;
  }

  .ag-track-name {
    font-size: 12px;
  }

  .ag-playhead {
    margin-left: 100px;
  }

  .ag-timeline-markers {
    padding-left: 100px;
  }
}
/* Scrollbar styling */
.ag-tracks-container::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.ag-tracks-container::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.ag-tracks-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}
.ag-tracks-container::-webkit-scrollbar-thumb:hover {
  background: #555;
}
/* Fix dawBottomEditor width in embed mode - absolute positioning calculates width relative to positioned parent */
dawBottomEditor {
  position: relative !important;
}
controlBar {
  left: 0px !important;
  width: 100% !important;
}
numSlider display {
  font-size: 14px !important;
}
#bpmLabel, #latencyAmount {
  font-size: 14px !important;
}
middle {
  min-height: 0px !important;
  min-width: 0px !important;
}
/* Allow JavaScript to override with higher specificity when height option is provided */
#ag-main-content middle[style*="minHeight"] {
  min-height: inherit !important;
}
/* bootstrap stuff */
.label {
  padding: .2em .6em .3em;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
control {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box !important;
}
input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button, select {
    text-transform: none;
}
button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}
triangle {
  top: -1px !important;
}
@font-face {
  font-family: 'abolition_regular';
  src: url("/fonts/abolition_regular.woff") format('woff');
}
@font-face {
  font-family: 'titillium_regular';
  src: url("/fonts/titillium_regular.woff") format('woff');
}
@font-face {
  font-family: 'titillium_light';
  src: url("/fonts/titillium_light.woff") format('woff');
}
@font-face {
  font-family: 'titillium_bold';
  src: url("/fonts/titillium_bold.woff") format('woff');
}
@font-face {
  font-family: 'titillium_semibold';
  src: url("/fonts/titillium_semibold.woff") format('woff');
}
@font-face {
  font-family: 'titillium_thin';
  src: url("/fonts/titillium_thin.woff") format('woff');
}
/* Note: titillium_thinitalic not available, will fallback to titillium_thin */
a.no-underline {
  text-decoration: none;
}
html,
body {
  height: 100%;
  background-color: black;
  color: #efefef;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: none;
  text-rendering: optimizeLegibility;
}
a:link,
a:visited,
a:active {
  color: #31afb2;
  text-decoration: none;
}
a:hover {
  color: #efefef;
  text-decoration: none;
}
a {
  color: #31afb2;
  cursor: hand;
  cursor: pointer;
}
#noAccess .warning {
  font-family: 'titillium_light', sans-serif;
  font-size: 25px;
  display: block;
  max-width: 500px;
  text-align: center;
  margin: 50px auto;
}
#noAccess .small {
  font-size: 16px;
}
.fader {
  display: block;
  width: 100%;
  height: 2px;
  margin: auto;
  background: linear-gradient(to right, rgba(49, 175, 178, 0.05), rgba(49, 175, 178, 0.07), rgba(49, 175, 178, 0.09), rgba(49, 175, 178, 0.1), rgba(49, 170, 178, 0.3), rgba(49, 165, 178, 0.5), rgba(49, 160, 178, 0.7), rgba(69, 155, 178, 0.8), rgba(109, 100, 255, 0.81), rgba(153, 100, 255, 0.81), rgba(183, 100, 255, 0.82), rgba(200, 90, 196, 0.83), rgba(240, 90, 196, 0.83), rgba(240, 90, 196, 0.85), rgba(240, 90, 196, 0.82), rgba(240, 90, 196, 0.81), rgba(244, 154, 19, 0.81), rgba(244, 154, 19, 0.8), rgba(244, 154, 19, 0.7), rgba(244, 154, 19, 0.5), rgba(244, 154, 19, 0.3), rgba(244, 154, 19, 0.1), rgba(244, 154, 19, 0.09), rgba(244, 154, 19, 0.07), rgba(244, 154, 19, 0.05));
}
.display-none-important {
  display: none !important;
}
.bottom-55-important {
  bottom: 55px !important;
}
.bottom-60-important {
  bottom: 60px !important;
}
.bottom-120-important {
  bottom: 120px !important;
}
.bottom-125-important {
  bottom: 125px !important;
}
a.no-underline {
  text-decoration: none;
}
html,
body {
  height: 100%;
  background-color: black;
  color: #efefef;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: none;
  text-rendering: optimizeLegibility;
}
a:link,
a:visited,
a:active {
  color: #31afb2;
  text-decoration: none;
}
a:hover {
  color: #efefef;
  text-decoration: none;
}
a {
  color: #31afb2;
  cursor: hand;
  cursor: pointer;
}
#noAccess .warning {
  font-family: 'titillium_light', sans-serif;
  font-size: 25px;
  display: block;
  max-width: 500px;
  text-align: center;
  margin: 50px auto;
}
#noAccess .small {
  font-size: 16px;
}
.fader {
  display: block;
  width: 100%;
  height: 2px;
  margin: auto;
  background: linear-gradient(to right, rgba(49, 175, 178, 0.05), rgba(49, 175, 178, 0.07), rgba(49, 175, 178, 0.09), rgba(49, 175, 178, 0.1), rgba(49, 170, 178, 0.3), rgba(49, 165, 178, 0.5), rgba(49, 160, 178, 0.7), rgba(69, 155, 178, 0.8), rgba(109, 100, 255, 0.81), rgba(153, 100, 255, 0.81), rgba(183, 100, 255, 0.82), rgba(200, 90, 196, 0.83), rgba(240, 90, 196, 0.83), rgba(240, 90, 196, 0.85), rgba(240, 90, 196, 0.82), rgba(240, 90, 196, 0.81), rgba(244, 154, 19, 0.81), rgba(244, 154, 19, 0.8), rgba(244, 154, 19, 0.7), rgba(244, 154, 19, 0.5), rgba(244, 154, 19, 0.3), rgba(244, 154, 19, 0.1), rgba(244, 154, 19, 0.09), rgba(244, 154, 19, 0.07), rgba(244, 154, 19, 0.05));
}
.display-none-important {
  display: none !important;
}
.bottom-55-important {
  bottom: 55px !important;
}
.bottom-60-important {
  bottom: 60px !important;
}
.bottom-120-important {
  bottom: 120px !important;
}
.bottom-125-important {
  bottom: 125px !important;
}
@font-face {
  font-family: 'abolition_regular';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/abolition_regular.woff") format('woff');
}
@font-face {
  font-family: 'titillium_regular';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_regular.woff") format('woff');
}
@font-face {
  font-family: 'titillium_light';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_light.woff") format('woff');
}
@font-face {
  font-family: 'titillium_bold';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_bold.woff") format('woff');
}
@font-face {
  font-family: 'titillium_semibold';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_semibold.woff") format('woff');
}
@font-face {
  font-family: 'titillium_thin';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_thin.woff") format('woff');
}
@font-face {
  font-family: 'titillium_thinitalic';
  src: url("https://d1eztesmy1mmbo.cloudfront.net/fonts/titillium_thinitalic.woff") format('woff');
}
body {
  font-family: 'titillium_regular', sans-serif;
}
body svg {
  display: none;
}
a {
  color: #0a003d;
}
.login {
  font-size: 14px;
}
.avatar {
  width: 30px;
  height: 30px;
}
.not-found {
  margin: 20px;
  padding: 20px;
}
.big-message {
  font-size: 20px;
  text-align: center;
  padding: 20px;
  margin: 20px auto;
  width: 60%;
  border-radius: 5px;
  background-color: #d8e2f0;
}
.ag-popup button {
  margin: 5px;
}
.ag-popup .popupS-buttons {
  height: 20px;
}
.ag-popup .popupS-content div {
  padding-bottom: 20px;
  font-size: 20px;
}
html,
body {
  height: 100%;
  margin: 0;
}
#ag-main-content {
  height: 100%;
  width: 100%;
  display: block;
  position: relative;
}
#ag-main-content svg {
  display: inline-block;
}
#ag-main-content agpopup {
  bottom: 0;
  height: auto;
}
/* Portrait orientation enforcement */
/* Hide content in landscape and show rotation message */
.landscape-warning {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #162433;
  color: #efefef;
  z-index: 9999;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  padding: 20px;
}
.landscape-warning .rotate-icon {
  font-size: 48px;
  margin-bottom: 20px;
  animation: rotate-animation 2s linear infinite;
}
.landscape-warning h2 {
  color: #5bd1d9;
  margin-bottom: 10px;
}
.landscape-warning p {
  color: #8c9aa9;
}
@keyframes rotate-animation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Show warning only in landscape orientation on phones (not tablets) */
@media screen and (orientation: landscape) and (max-height: 500px) and (max-width: 932px) {
  .landscape-warning {
    display: flex;
  }
  body > *:not(.landscape-warning) {
    display: none !important;
  }
}
loadPopup {
  display: none;
  position: absolute;
  top: -42px;
  left: 0;
  width: 100%;
  height: calc(100% + 42px);
  background-color: rgba(0, 0, 0, 0.8);
  border: solid 4px #162433;
  border-top-width: 0;
  border-bottom-width: 2px;
  z-index: 1000000000;
}
loadPopup box {
  display: block;
  position: absolute;
  width: 250px;
  height: 80px;
  line-height: 80px;
  color: #f49a13;
  font-size: 25px;
  padding-top: 70px;
  text-align: center;
  left: calc(50% - 125px);
  top: calc(50% - 60px);
}
body[data-mode] middle loadPopup {
  margin-left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 46px);
}
.ag-fullscreen {
  padding-bottom: env(safe-area-inset-bottom) !important;
  box-sizing: border-box !important;
}
body:has(.ag-fullscreen),
body.ag-fullscreen-active {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}
html:has(.ag-fullscreen),
html.ag-fullscreen-active {
  overflow: hidden !important;
  height: 100% !important;
}
html.ag-fullscreen-active {
  overflow: hidden !important;
  height: 100% !important;
}
body.ag-fullscreen-active {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}
helpPopups {
  display: block;
  z-index: 10000000000000;
}
helpPopup {
  display: none;
  position: absolute;
  background-color: #090e1b;
  border-radius: 5px;
  color: #cccccc;
  font-family: 'titillium_semibold', sans-serif;
  font-size: 14px;
  padding: 10px;
  border: solid 1px #f49a13;
  border-left-width: 4px;
  border-right-width: 4px;
  z-index: 10000000000000000;
  cursor: hand;
  cursor: pointer;
}
helpPopup helpTriangle svg {
  position: absolute;
  width: 13px;
  height: 13px;
}
control {
  position: absolute;
}
control controlLabel {
  left: 10px;
}
controlSet {
  position: absolute;
}
display {
  background-color: #090e14;
  border-radius: 4px;
  border-width: 0;
  text-align: center;
  display: inline-block;
  color: #efefef;
}
detachedMenu mouseCircle {
  position: absolute;
  display: block;
  border: solid 1px white;
  background-color: #090e14;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  z-index: 100000;
}
detachedMenu mouseLine {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
}
detachedMenu dMenu {
  position: absolute;
  border: solid 1px #efefef;
  border-radius: 3px;
  background-color: #090e14;
  z-index: 1000000;
}
detachedMenu dMenu menuItem {
  display: block;
  padding: 0 5px;
  color: #efefef;
  text-align: center;
}
detachedMenu dMenu menuItem.disabled {
  color: #888888;
}
knob {
  display: block;
  position: absolute;
  width: 42px;
  height: 42px;
  cursor: hand;
  cursor: pointer;
}
knob handle {
  display: block;
  position: absolute;
  background: url(https://d1eztesmy1mmbo.cloudfront.net/images/knobHandle.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-color: #111927;
  border-radius: 50%;
}
knob svg {
  width: 100%;
  height: 100%;
}
knob div {
  position: absolute;
  width: 100%;
  height: 100%;
}
knob valueLabel {
  display: block;
  position: absolute;
  font-size: 10px;
  top: 13px;
  width: 100%;
  text-align: center;
}
knob.no-handle handle {
  opacity: 0;
}
knob.disabled {
  opacity: 0.3;
  cursor: default;
}
controlLabel {
  position: relative;
  font-size: 10px;
}
controlLabel.disabled {
  opacity: 0.5;
}
agMeter {
  position: absolute;
}
agMeter canvas {
  border: 1px solid #090e14;
  background-color: #c9c9c9;
  position: absolute;
}
slider {
  width: 100px;
  height: 22px;
  position: absolute;
  overflow: hidden;
}
slider sliderTrack {
  position: absolute;
  height: 10px;
  border-radius: 4px;
}
slider sliderTrack.background {
  width: 100%;
  background-color: #1c5b65;
}
slider sliderTrack.foreground {
  background: linear-gradient(to top, #f05ac4, #f49a13);
}
slider thumb {
  width: 24px;
  height: 24px;
  position: relative;
  background: linear-gradient(to top, rgba(244, 154, 19, 0.8) 0%, rgba(240, 90, 196, 0.8) 80%, rgba(49, 175, 178, 0.8));
  display: block;
  cursor: pointer;
  cursor: hand;
  border-radius: 50%;
}
slider thumb inner {
  display: block;
  position: absolute;
  background-color: #090e1b;
  left: 1px;
  top: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  text-align: center;
  font-size: 10px;
  line-height: 23px;
  color: #62e9ef;
  text-transform: uppercase;
}
slider.bipolar sliderTrack.foreground {
  background: linear-gradient(to top, #1c5b65, #f49a13, #f05ac4 40%, #f05ac4 60%, #f49a13, #1c5b65);
}
slider.bipolar thumb {
  background: linear-gradient(to right, rgba(244, 154, 19, 0.8), rgba(240, 90, 196, 0.8) 20%, rgba(240, 90, 196, 0.8) 80%, rgba(49, 175, 178, 0.8));
}
slider.horizontal sliderTrack {
  margin-top: 7px;
  height: 11px;
}
slider.horizontal sliderTrack.background {
  width: 100%;
}
slider.horizontal sliderTrack.foreground {
  width: 11px;
}
slider.horizontal thumb {
  left: -1px;
  top: 2px;
}
slider.vertical sliderTrack {
  margin-left: 11px;
  width: 3px;
}
slider.vertical sliderTrack.background {
  height: 100%;
}
slider.range thumb {
  border-radius: 4px;
  width: 100%;
  height: 40px;
}
slider.range thumb handle {
  display: block;
  position: relative;
  height: 13px;
  width: 60%;
  left: 20%;
  background-color: #efefef;
  opacity: 0.5;
  border: solid 1px #090e14;
  border-top-width: 0;
}
slider.range thumb handle:active {
  opacity: 1;
}
slider.range thumb bottomLabel {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
  top: calc(100% - 33px);
  text-transform: uppercase;
}
slider.range sliderTrack {
  margin-left: 0;
}
slider.range sliderTrack.foreground {
  opacity: 0;
}
slider.disabled sliderTrack {
  opacity: 0.5;
}
slider.disabled thumb {
  opacity: 0.5;
}
zoom sliderTrack {
  position: absolute;
  border-radius: 2px;
}
zoom sliderTrack.background {
  background-color: #090e14;
}
zoom sliderTrack.foreground {
  background-color: #7887c1;
}
zoom.horizontal sliderTrack {
  margin-top: 7px;
  height: 11px;
}
zoom.horizontal sliderTrack.background {
  width: 100%;
}
zoom.horizontal sliderTrack.foreground {
  width: 11px;
}
zoom.horizontal zoomSlider {
  left: -1px;
}
zoom.vertical sliderTrack {
  margin-left: 7px;
  width: 11px;
}
zoom.vertical sliderTrack.background {
  height: 100%;
}
zoom zoomSlider {
  width: 24px;
  height: 24px;
  background-color: #7887c1;
  display: block;
  cursor: pointer;
  cursor: hand;
  border: solid 1px #202020;
  border-radius: 50%;
}
numSlider display {
  cursor: pointer;
  cursor: hand;
  position: relative;
  background-color: #162433;
  width: 75px;
  height: 32px;
  line-height: 36px;
  border-radius: 2px;
  color: #efefef;
  font-family: 'titillium_semibold', sans-serif;
  text-align: left;
  padding-left: 20px;
}
numSlider control#plus,
numSlider control#minus {
  left: 52px;
}
numSlider control#plus {
  top: 0px;
}
numSlider control#plus svg {
  margin-top: 2px;
}
numSlider control#minus {
  top: 14px;
}
numSlider control button {
  height: 16px;
  width: 22px;
}
numSlider control button inner {
  height: 14px;
  font-size: 14px;
  line-height: 12px;
}
numSlider control button svg {
  height: 9px;
  width: 9px;
}
simpleScroll {
  background-color: #1b2b3d;
  border: 1px solid #111927;
}
simpleScroll.vertical {
  width: 16px;
}
simpleScroll.vertical scroller {
  width: 14px;
  left: auto;
  margin: 0 auto;
}
simpleScroll.vertical scroller grab {
  width: 100%;
  height: 16px;
  padding-top: 2px;
}
simpleScroll.vertical scroller grab grabLine {
  display: block;
  height: 1px;
  margin-top: 2px;
  left: 2px;
  width: 70%;
}
simpleScroll.vertical scroller grab:last-child {
  top: calc(100% - 16px);
  padding-top: 2px;
}
simpleScroll.horizontal {
  height: 18px;
}
simpleScroll.horizontal scroller {
  height: 14px;
  top: auto;
  margin: auto 0;
}
simpleScroll.horizontal scroller grab {
  height: 100%;
  width: 16px;
  padding-left: 4px;
}
simpleScroll.horizontal scroller grab grabLine {
  display: inline-block;
  margin-left: -1px;
  width: 1px;
  top: -2px;
  height: 70%;
}
simpleScroll.horizontal scroller grab:last-child {
  left: calc(100% - 16px);
  padding-left: 5px;
}
simpleScroll scroller {
  background-color: #344552;
  display: block;
  cursor: pointer;
  cursor: hand;
  border-radius: 1px;
}
simpleScroll scroller grab {
  display: block;
  position: absolute;
}
simpleScroll scroller grab grabLine {
  position: relative;
  background-color: #53626d;
}
selectionBox {
  position: absolute;
  display: block;
  visibility: hidden;
  background-color: rgba(194, 232, 237, 0.2);
  border: 1px solid #eceff1;
  z-index: 10000;
  box-shadow: 0 0 4px 0px #53e4ed;
}
textInput {
  display: block;
  text-align: center;
}
textInput input {
  left: 0;
  background-color: #020407;
  padding-left: 10px;
  border: solid 1px rgba(83, 228, 237, 0.5);
  border-radius: 1px !important;
  color: rgba(83, 228, 237, 0.75) !important;
  background-color: black !important;
}
textInput input.disabled {
  opacity: 0.5;
}
textInput input:focus {
  outline-width: 0;
  border-color: #53e4ed;
  color: #53e4ed !important;
}
textInput input::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-moz-placeholder {
  /* Firefox 19+ */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-moz-placeholder {
  /* Firefox 18- */
  color: rgba(83, 228, 237, 0.5);
}
textInput input.error {
  border-color: #c2184c !important;
}
textInput.transparent input {
  background-color: transparent;
  border-color: transparent;
}
control:focus {
  outline: none;
}
control textArea {
  color: rgba(83, 228, 237, 0.75) !important;
  background-color: black !important;
  border: solid 1px rgba(83, 228, 237, 0.5);
  padding: 7px 10px;
  border-radius: 1px !important;
}
control textArea:focus {
  outline-width: 0;
  border-color: #53e4ed;
  color: #53e4ed !important;
}
control textArea::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: rgba(83, 228, 237, 0.5);
}
control textArea::-moz-placeholder {
  /* Firefox 19+ */
  color: rgba(83, 228, 237, 0.5);
}
control textArea:-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(83, 228, 237, 0.5);
}
control textArea:-moz-placeholder {
  /* Firefox 18- */
  color: rgba(83, 228, 237, 0.5);
}
control textArea.error {
  border-color: #c2184c !important;
}
button {
  padding: 0;
  background-color: #162433;
  border-radius: 2px;
  border-width: 0;
  cursor: pointer;
  cursor: hand;
  display: inline-block;
  height: 36px;
  width: 36px;
}
button inner {
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  font-size: 13px;
  line-height: 31px;
  margin: 2px;
  display: block;
  text-align: center;
  border-width: 0;
  border-radius: 1px;
  color: #31afb2;
}
button inner #textGradient {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, #1c5b65, #1c5b65);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
button.thin {
  border-radius: 3px;
}
button.thin inner {
  border-radius: 3px;
  height: calc(100% - 2px);
  width: calc(100% - 2px);
  margin: 1px;
  font-size: 11px;
  font-family: 'titillium_semibold', sans-serif;
}
button.chunky {
  border-radius: 3px;
}
button.chunky inner {
  height: calc(100% - 8px);
  width: calc(100% - 8px);
  margin: 4px;
  background-color: #111927;
  font-family: 'titillium_semibold', sans-serif;
}
button.chunky.small inner {
  height: calc(100% - 6px);
  width: calc(100% - 6px);
  margin: 3px;
}
button.naked {
  background-color: transparent;
}
button.naked svg path.stroke {
  stroke: #5bd1d9;
}
button.naked svg path.fill {
  fill: #5bd1d9;
}
button.circle {
  border-radius: 50%;
}
button.circle inner {
  border-radius: 50%;
}
button.bordered {
  border: 2px solid #36afb2;
  border-radius: 0;
  background-color: #111927;
}
button.bordered inner {
  border: 1px solid #53e4ed;
  border-radius: 0;
  box-shadow: 0 0 10px 1px #53e4ed;
}
button.giant {
  background-color: #162433;
}
button.giant inner {
  background-color: #111927;
  font-family: 'titillium_semibold', sans-serif;
  color: #31afb2;
}
button.giant inner svg {
  position: absolute;
}
button.giant inner svg path.stroke {
  stroke: #64d1d8;
}
button.giant inner svg path.fill {
  fill: #64d1d8;
}
button.combo.naked span,
button.longCombo span {
  position: absolute;
}
button.combo.naked svg,
button.longCombo svg {
  position: absolute;
}
button.combo.naked span {
  left: 15px;
  top: 0;
}
button.combo.naked svg {
  left: 2px;
  top: 2px;
}
button.longCombo {
  background-color: transparent;
}
button.longCombo inner {
  border-style: solid;
  border-width: 1px;
  opacity: 0.6;
  width: 100%;
  border-radius: 15px;
}
button.longCombo svg {
  left: 9px;
  top: 11px;
  width: 12px;
  height: 12px;
}
button.longCombo span {
  left: 30px;
  font-size: 12px;
  line-height: 30px;
}
button.longCombo.orange inner {
  border-color: #f49a13;
}
button.longCombo.orange svg path {
  fill: #f49a13;
}
button.longCombo.orange span {
  color: #f49a13;
}
button.longCombo.blue inner {
  border-color: rgba(125, 251, 255, 0.6);
}
button.longCombo.blue svg path {
  fill: rgba(125, 251, 255, 0.6);
}
button.longCombo.blue span {
  color: rgba(125, 251, 255, 0.6);
}
button.longCombo.pink inner {
  border-color: #f05ac4;
}
button.longCombo.pink svg path {
  fill: #f05ac4;
}
button.longCombo.pink span {
  color: #f05ac4;
}
button.longCombo.gray inner {
  border-color: rgba(232, 232, 232, 0.65);
}
button.longCombo.gray svg path {
  fill: rgba(232, 232, 232, 0.65);
}
button.longCombo.gray span {
  color: rgba(232, 232, 232, 0.65);
}
button.outline {
  background-color: transparent;
  padding: 1px;
  height: 33px;
}
button.outline inner {
  border-style: solid;
  border-width: 1px;
  border-radius: 20px;
  opacity: 0.6;
}
button.outline span {
  left: 30px;
  font-size: 12px;
}
button.outline.rect inner {
  border-radius: 2px;
}
button.outline.blue inner {
  border-color: #53e4ed;
}
button.outline.blue span {
  color: #53e4ed;
}
button.outline.pink inner {
  border-color: #f05ac4;
}
button.outline.pink span {
  color: #f05ac4;
}
button.outline.white inner {
  border-color: #efefef;
  opacity: 0.8;
}
button.outline.white span {
  color: #efefef;
}
button.outline.orange inner {
  border-color: #f49a13;
}
button.outline.orange span {
  color: #f49a13;
}
button.outline.gradient {
  padding: 1px;
}
button.outline.gradient inner {
  border: 0 solid transparent;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: #090f1b;
  opacity: 1;
}
button.dark inner {
  color: #1d6065;
}
button.dark svg path.fill {
  fill: #1d6065;
}
button.dark svg path.stroke {
  stroke: #1d6065;
}
button.dark.red inner {
  color: #7c1437;
}
button.dark.red svg path.fill {
  fill: #7c1437;
}
button.dark.red svg path.stroke {
  stroke: #7c1437;
}
button.disabled {
  opacity: 0.3;
  cursor: default;
}
button:active.meteor.gray inner {
  border-color: #f49a13;
  background-color: transparent;
}
button:active.meteor.gray svg path {
  fill: #f49a13;
}
button:active.meteor.gray span {
  color: #f49a13;
}
button:active.meteor.outline inner {
  opacity: 1;
}
button:focus {
  outline: 0;
}
#signInMain control#action,
.signUpNew control#action,
.signUpLandingPage control#action,
.home control#action,
.contactUs.inner control#action,
#subscribePage control#action,
.signUpBeta control#action,
.comingSoon control#action,
#certificateDev control#action,
#certificateBG control#action,
#resetPasswordPage control#action,
.signUpPopup control#action,
.submitToContest control#action,
.redemption control#action,
#changePasswordPage control#action,
#signInMain button#action,
.signUpNew button#action,
.signUpLandingPage button#action,
.home button#action,
.contactUs.inner button#action,
#subscribePage button#action,
.signUpBeta button#action,
.comingSoon button#action,
#certificateDev button#action,
#certificateBG button#action,
#resetPasswordPage button#action,
.signUpPopup button#action,
.submitToContest button#action,
.redemption button#action,
#changePasswordPage button#action {
  display: block;
  max-width: 370px;
  height: 38px;
  margin: auto;
  background: linear-gradient(to right, #31afd2, #7887c1, #7887c1, #9664ff, #f05ac4, #ff6413, #f49a13);
  border-radius: 50px;
  text-align: center;
}
#signInMain control#action .gradient-button,
.signUpNew control#action .gradient-button,
.signUpLandingPage control#action .gradient-button,
.home control#action .gradient-button,
.contactUs.inner control#action .gradient-button,
#subscribePage control#action .gradient-button,
.signUpBeta control#action .gradient-button,
.comingSoon control#action .gradient-button,
#certificateDev control#action .gradient-button,
#certificateBG control#action .gradient-button,
#resetPasswordPage control#action .gradient-button,
.signUpPopup control#action .gradient-button,
.submitToContest control#action .gradient-button,
.redemption control#action .gradient-button,
#changePasswordPage control#action .gradient-button,
#signInMain button#action .gradient-button,
.signUpNew button#action .gradient-button,
.signUpLandingPage button#action .gradient-button,
.home button#action .gradient-button,
.contactUs.inner button#action .gradient-button,
#subscribePage button#action .gradient-button,
.signUpBeta button#action .gradient-button,
.comingSoon button#action .gradient-button,
#certificateDev button#action .gradient-button,
#certificateBG button#action .gradient-button,
#resetPasswordPage button#action .gradient-button,
.signUpPopup button#action .gradient-button,
.submitToContest button#action .gradient-button,
.redemption button#action .gradient-button,
#changePasswordPage button#action .gradient-button {
  display: inline-block;
  position: relative;
  top: 2px;
  height: 34px;
  max-width: 366px;
  background: black;
}
#signInMain button#action,
.signUpNew button#action,
.signUpLandingPage button#action,
.home button#action,
.contactUs.inner button#action,
#subscribePage button#action,
.signUpBeta button#action,
.comingSoon button#action,
#certificateDev button#action,
#certificateBG button#action,
#resetPasswordPage button#action,
.signUpPopup button#action,
.submitToContest button#action,
.redemption button#action,
#changePasswordPage button#action {
  padding: 6px;
  text-align: center;
}
#signInMain button#action inner,
.signUpNew button#action inner,
.signUpLandingPage button#action inner,
.home button#action inner,
.contactUs.inner button#action inner,
#subscribePage button#action inner,
.signUpBeta button#action inner,
.comingSoon button#action inner,
#certificateDev button#action inner,
#certificateBG button#action inner,
#resetPasswordPage button#action inner,
.signUpPopup button#action inner,
.submitToContest button#action inner,
.redemption button#action inner,
#changePasswordPage button#action inner {
  background: linear-gradient(to right, #31afd2, #7887c1, #7887c1, #f05ac4, #f49a13, #f49a13);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  max-width: 150px;
  margin: auto;
  height: auto;
  font-family: "titillium_bold";
  transform: translateY(-13%);
}
#signInMain control#action:active .gradient-button,
.signUpNew control#action:active .gradient-button,
.signUpLandingPage control#action:active .gradient-button,
.home control#action:active .gradient-button,
.contactUs.inner control#action:active .gradient-button,
#subscribePage control#action:active .gradient-button,
.signUpBeta control#action:active .gradient-button,
.comingSoon control#action:active .gradient-button,
#certificateDev control#action:active .gradient-button,
#certificateBG control#action:active .gradient-button,
#resetPasswordPage control#action:active .gradient-button,
.signUpPopup control#action:active .gradient-button,
.submitToContest control#action:active .gradient-button,
.redemption control#action:active .gradient-button,
#changePasswordPage control#action:active .gradient-button,
#signInMain button#action:active .gradient-button,
.signUpNew button#action:active .gradient-button,
.signUpLandingPage button#action:active .gradient-button,
.home button#action:active .gradient-button,
.contactUs.inner button#action:active .gradient-button,
#subscribePage button#action:active .gradient-button,
.signUpBeta button#action:active .gradient-button,
.comingSoon button#action:active .gradient-button,
#certificateDev button#action:active .gradient-button,
#certificateBG button#action:active .gradient-button,
#resetPasswordPage button#action:active .gradient-button,
.signUpPopup button#action:active .gradient-button,
.submitToContest button#action:active .gradient-button,
.redemption button#action:active .gradient-button,
#changePasswordPage button#action:active .gradient-button {
  background-color: transparent;
}
#signInMain control#action:active inner,
.signUpNew control#action:active inner,
.signUpLandingPage control#action:active inner,
.home control#action:active inner,
.contactUs.inner control#action:active inner,
#subscribePage control#action:active inner,
.signUpBeta control#action:active inner,
.comingSoon control#action:active inner,
#certificateDev control#action:active inner,
#certificateBG control#action:active inner,
#resetPasswordPage control#action:active inner,
.signUpPopup control#action:active inner,
.submitToContest control#action:active inner,
.redemption control#action:active inner,
#changePasswordPage control#action:active inner,
#signInMain button#action:active inner,
.signUpNew button#action:active inner,
.signUpLandingPage button#action:active inner,
.home button#action:active inner,
.contactUs.inner button#action:active inner,
#subscribePage button#action:active inner,
.signUpBeta button#action:active inner,
.comingSoon button#action:active inner,
#certificateDev button#action:active inner,
#certificateBG button#action:active inner,
#resetPasswordPage button#action:active inner,
.signUpPopup button#action:active inner,
.submitToContest button#action:active inner,
.redemption button#action:active inner,
#changePasswordPage button#action:active inner {
  -webkit-text-fill-color: white;
}
buttonSpinner {
  display: block;
  width: 15px;
  height: 15px;
  position: relative;
  top: -23px;
  left: calc(100% - 25px);
}
controlBar {
  position: relative;
  display: block;
  left: 0px;
  width: 100%;
  height: 55px;
  background-color: #111927;
  border-top: 1px solid #162433;
  /* currently disabled functionality */
}
controlBar button {
  height: 31px;
}
controlBar control {
  visibility: hidden;
  top: 11px;
}
controlBar #contestMessage {
  display: none;
  left: calc(75% + 20px);
  top: 16px;
  text-transform: uppercase;
  position: absolute;
  font-size: 14px;
  color: #5bd1d9;
  opacity: 0.6;
}
controlBar div#wide {
  height: 100%;
}
controlBar div#wide control#clear {
  left: 15px;
}
controlBar div#wide control#clear button {
  width: 31px;
}
controlBar div#wide control#clear button svg {
  margin-top: 6px;
  margin-left: -1px;
  width: 16px;
  height: 16px;
}
controlBar div#wide control#share {
  left: 60px;
}
controlBar div#wide control#share button svg {
  margin-top: 4px;
  width: 22px;
  height: 22px;
}
controlBar div#wide control#save {
  left: 100px;
}
controlBar div#wide control#save button svg {
  margin-top: 1px;
  width: 26px;
  height: 26px;
}
controlBar div#wide control#takeNotes {
  left: 140px;
}
controlBar div#wide control#takeNotes button svg {
  margin-top: -2px;
  width: 32px;
  height: 32px;
}
controlBar div#wide control#playRestart {
  left: calc(50% - 33px);
}
controlBar div#wide control#playRestart button {
  width: 31px;
  border-radius: 0px;
}
controlBar div#wide control#playRestart button inner {
  border-radius: 0px;
}
controlBar div#wide control#playRestart button inner svg {
  margin-top: 6px;
  margin-left: -1px;
  width: 16px;
  height: 16px;
}
controlBar div#wide control#rewindToStart button {
  width: 31px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
controlBar div#wide control#rewindToStart button inner {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
controlBar div#wide control#rewindToStart button inner svg {
  margin-top: 7px;
  margin-left: 0px;
  width: 16px;
  height: 16px;
}
controlBar div#wide control#play {
  position: absolute;
}
controlBar div#wide control#play button {
  width: 50px;
  border-radius: 0;
}
controlBar div#wide control#play button inner {
  border-radius: 0;
}
controlBar div#wide control#play button inner svg {
  margin-top: 6px;
  margin-left: 3px;
  width: 18px;
  height: 18px;
}
controlBar div#wide control#loop button {
  width: 31px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide control#loop button inner {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide control#loop button inner svg {
  margin-top: 7px;
  margin-left: 0px;
  width: 16px;
  height: 16px;
}
controlBar div#wide control#dawSettings button {
  width: 31px;
}
controlBar div#wide control#dawSettings button inner svg {
  margin-top: 7px;
  margin-left: 0px;
  width: 16px;
  height: 16px;
}
controlBar div#wide control#zoom button {
  width: 31px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide control#zoom button inner {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide control#zoom button inner svg {
  margin-top: 7px;
  margin-left: 0px;
  width: 14px;
  height: 14px;
}
controlBar div#wide control#submitToContest {
  left: calc(75% + 10px);
  top: 6px;
}
controlBar div#wide control#submitToContest button {
  width: 170px;
  height: 40px;
}
controlBar div#wide control#contestInfo {
  left: calc(75% - 100px);
}
controlBar div#wide control#contestInfo button {
  width: 100px;
}
controlBar div#wide control#contestInfo button inner {
  line-height: 26px;
}
controlBar div#wide control.fullSize button {
  width: 75px;
  height: 50px;
}
controlBar div#wide control.fullSize button inner {
  line-height: 46px;
  font-size: 18px;
}
controlBar div#wide controlSet#coverButtonGroup {
  top: 11px;
}
controlBar div#wide controlSet#coverButtonGroup control {
  top: 0;
}
controlBar div#wide controlSet#coverButtonGroup control#shownSettings button {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
controlBar div#wide controlSet#coverButtonGroup control#shownSettings button inner {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
controlBar div#wide controlSet#coverButtonGroup control#hiddenSettings {
  left: 50px;
}
controlBar div#wide controlSet#coverButtonGroup control#hiddenSettings button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide controlSet#coverButtonGroup control#hiddenSettings button inner {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
controlBar div#wide controlSet#coverButtonGroup control button {
  width: 50px;
}
controlBar div#wide controlSet#coverButtonGroup control button inner svg {
  margin-top: 2px;
  width: 24px;
  height: 24px;
}
controlBar div#wide controlSet#submissionButtonGroup {
  top: 11px;
}
controlBar div#wide controlSet#submissionButtonGroup control {
  top: 0;
}
controlBar div#wide controlSet#submissionButtonGroup control#hint {
  right: 135px;
}
controlBar div#wide controlSet#submissionButtonGroup control#hint button svg {
  margin-top: 4px;
  height: 20px;
  width: 20px;
}
controlBar div#wide controlSet#submissionButtonGroup control#tryAgain {
  right: 135px;
}
controlBar div#wide controlSet#submissionButtonGroup control#tryAgain button svg {
  margin-top: 4px;
  height: 20px;
}
controlBar div#wide controlSet#submissionButtonGroup control#submit {
  right: 0px;
  top: -5px;
}
controlBar div#wide controlSet#submissionButtonGroup control#submit button {
  height: 40px;
  width: 120px;
}
@media screen and (max-width: 575px) {
  controlBar div#wide controlSet#submissionButtonGroup control#hint {
    right: 95px;
  }
  controlBar div#wide controlSet#submissionButtonGroup control#tryAgain {
    right: 95px;
  }
  controlBar div#wide controlSet#submissionButtonGroup control#submit button {
    width: 80px;
  }
}
controlBar div#narrow,
controlBar div#medium {
  display: none;
}
controlBar div#narrow,
controlBar div#medium {
  width: 100%;
  height: 100%;
}
controlBar div#narrow left,
controlBar div#medium left,
controlBar div#narrow right,
controlBar div#medium right {
  display: inline-block;
  font-size: 30px;
  padding: 0 10px;
  height: 40px;
  position: relative;
  top: 0px;
  cursor: default;
  cursor: pointer;
}
controlBar div#narrow left.disabled,
controlBar div#medium left.disabled,
controlBar div#narrow right.disabled,
controlBar div#medium right.disabled {
  opacity: 0.2;
}
controlBar div#narrow left svg,
controlBar div#medium left svg,
controlBar div#narrow right svg,
controlBar div#medium right svg {
  height: 20px;
  width: 20px;
}
controlBar div#narrow left svg path,
controlBar div#medium left svg path,
controlBar div#narrow right svg path,
controlBar div#medium right svg path {
  fill: #efefef;
}
controlBar div#narrow left:active.disabled,
controlBar div#medium left:active.disabled,
controlBar div#narrow right:active.disabled,
controlBar div#medium right:active.disabled {
  color: #efefef;
}
controlBar div#narrow left:active svg path,
controlBar div#medium left:active svg path,
controlBar div#narrow right:active svg path,
controlBar div#medium right:active svg path {
  fill: #7887c1;
}
controlBar div#narrow right,
controlBar div#medium right {
  position: absolute;
  left: calc(100% - 35px);
}
controlBar div#narrow controlPanes,
controlBar div#medium controlPanes {
  display: inline-block;
  height: 100%;
  width: calc(100% - 70px);
  position: absolute;
  overflow: hidden;
}
controlBar div#narrow controlPanes controlPane,
controlBar div#medium controlPanes controlPane {
  display: inline-block;
  position: absolute;
  width: 100%;
  top: 5px;
}
controlBar div#narrow controlPanes controlPane button,
controlBar div#medium controlPanes controlPane button {
  width: 40px;
  height: 30px;
}
controlBar div#narrow controlPanes controlPane controlSet#coverButtonGroup control#hiddenSettings,
controlBar div#medium controlPanes controlPane controlSet#coverButtonGroup control#hiddenSettings {
  left: 45px;
}
controlBar div#narrow controlPanes controlPane controlSet#coverButtonGroup button svg,
controlBar div#medium controlPanes controlPane controlSet#coverButtonGroup button svg {
  height: 24px;
}
controlBar div#narrow controlPanes controlPane control#play button svg,
controlBar div#medium controlPanes controlPane control#play button svg {
  height: 15px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#submit,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#submit {
  right: 0px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#submit button,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#submit button {
  width: 60px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#submit button inner,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#submit button inner {
  font-size: 12px;
  line-height: 26px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain,
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#hint,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#hint {
  right: 65px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain svg,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain svg,
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#hint svg,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#hint svg {
  height: 18px;
  margin-top: 3px;
}
controlBar div#narrow controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain svg,
controlBar div#medium controlPanes controlPane controlSet#submissionButtonGroup control#tryAgain svg {
  margin-left: -4px;
}
controlBar div#narrow controlPanes controlPane controlSet#mouseModeButtonGroup,
controlBar div#medium controlPanes controlPane controlSet#mouseModeButtonGroup {
  left: 0;
}
controlBar div#narrow controlPanes controlPane controlSet#mouseModeButtonGroup control#selectSettings,
controlBar div#medium controlPanes controlPane controlSet#mouseModeButtonGroup control#selectSettings {
  left: 45px;
}
controlBar div#narrow controlPanes controlPane controlSet#mouseModeButtonGroup svg,
controlBar div#medium controlPanes controlPane controlSet#mouseModeButtonGroup svg {
  height: 18px;
  margin-top: 4px;
}
controlBar div#narrow controlPanes controlPane zoomIcon,
controlBar div#medium controlPanes controlPane zoomIcon {
  position: absolute;
}
controlBar div#narrow controlPanes controlPane control#playRestart svg,
controlBar div#medium controlPanes controlPane control#playRestart svg,
controlBar div#narrow controlPanes controlPane control#rewindToStart svg,
controlBar div#medium controlPanes controlPane control#rewindToStart svg,
controlBar div#narrow controlPanes controlPane control#loop svg,
controlBar div#medium controlPanes controlPane control#loop svg,
controlBar div#narrow controlPanes controlPane control#metro svg,
controlBar div#medium controlPanes controlPane control#metro svg,
controlBar div#narrow controlPanes controlPane control#clear svg,
controlBar div#medium controlPanes controlPane control#clear svg {
  height: 18px;
  margin-top: 3px;
}
controlBar div#narrow controlPanes controlPane control.tempo numSlider display,
controlBar div#medium controlPanes controlPane control.tempo numSlider display {
  width: 40px;
  height: 30px;
  line-height: 30px;
  top: 0px;
}
controlBar div#narrow controlPanes controlPane control.tempo numSlider button,
controlBar div#medium controlPanes controlPane control.tempo numSlider button {
  display: none;
}
controlBar div#medium controlPane#ma controlSet#coverButtonGroup {
  left: 55px;
}
controlBar div#medium controlPane#ma control#clear {
  left: 0;
}
controlBar div#medium controlPane#ma control#playRestart {
  left: 155px;
}
controlBar div#medium controlPane#ma control#rewindToStart {
  left: 104px;
}
controlBar div#medium controlPane#ma control#play {
  left: 200px;
}
controlBar div#medium controlPane#ma control#loop {
  left: 245px;
}
controlBar div#medium controlPane#mb zoomIcon {
  left: 105px;
  top: 4px;
}
controlBar div#medium controlPane#mb control#trackZoomHM {
  left: 150px;
  top: 4px;
  width: 80px;
}
controlBar div#medium controlPane#mb control#trackZoomHM slider {
  width: 80px;
}
controlBar div#medium controlPane#mb control#metro {
  right: 45px;
}
controlBar div#medium controlPane#mb control.tempo {
  right: -5px;
}
controlBar div#narrow controlPane#a controlSet#coverButtonGroup {
  left: 0;
}
controlBar div#narrow controlPane#a control#play {
  left: 90px;
}
controlBar div#narrow controlPane#b zoomIcon {
  right: 86px;
  top: 4px;
}
controlBar div#narrow controlPane#b control#trackZoomHN {
  right: 0px;
  top: 4px;
  width: 80px;
}
controlBar div#narrow controlPane#b control#trackZoomHN slider {
  width: 80px;
}
controlBar div#narrow controlPane#c control#playRestart {
  left: 0px;
}
controlBar div#narrow controlPane#c control#rewindToStart {
  left: 50px;
}
controlBar div#narrow controlPane#c control#loop {
  left: 94px;
}
controlBar div#narrow controlPane#c control#metro {
  right: 45px;
}
controlBar div#narrow controlPane#c control.tempo {
  right: -5px;
}
agpopupHolder {
  z-index: 100000000000000;
}
agpopup {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 100000000000000;
  overflow: auto;
}
agpopup contentGradientBorder {
  display: block;
  position: absolute;
  width: 90%;
  max-width: 420px;
  background: linear-gradient(to bottom left, rgba(244, 154, 19, 0.23), rgba(240, 90, 196, 0.23), rgba(83, 228, 237, 0.23));
  padding: 1px;
  left: 5%;
  top: 80px;
}
@media screen and (min-width: 420px) {
  agpopup contentGradientBorder {
    left: calc(50% - 180px);
  }
}
agpopup content.popup {
  display: block;
  background-color: #070a10;
  margin: 0;
  padding: 80px 20px 20px 20px;
  color: #8c9aa9;
}
agpopup content.popup icon {
  display: block;
  width: 124px;
  height: 124px;
  position: absolute;
  top: -62px;
  left: calc(50% - 62px);
}
agpopup content.popup icon #faded-circle-1 {
  border-radius: 50%;
  border: solid 1px rgba(244, 154, 19, 0.05);
  width: 100%;
  height: 100%;
}
agpopup content.popup icon #faded-circle-1 #faded-circle-2 {
  border-radius: 50%;
  border: solid 1px rgba(244, 154, 19, 0.15);
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  margin: 7px;
}
agpopup content.popup icon #faded-circle-1 #faded-circle-2 #gradient-circle {
  border-radius: 50%;
  background: linear-gradient(to bottom left, rgba(244, 154, 19, 0.8), rgba(240, 90, 196, 0.8), rgba(83, 228, 237, 0.8));
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  margin: 7px;
  padding: 1px;
}
agpopup content.popup icon #faded-circle-1 #faded-circle-2 #gradient-circle #body-circle {
  border-radius: 50%;
  text-align: center;
  background-color: #090e1b;
  width: 100%;
  height: 100%;
}
agpopup content.popup icon #faded-circle-1 #faded-circle-2 #gradient-circle #body-circle svg {
  margin-top: 25px;
  width: 34px;
  height: 34px;
}
agpopup content.popup titleMessage {
  display: block;
  font-family: 'titillium_light', sans-serif;
  text-align: center;
  font-size: 22px;
  color: #f49a13;
}
agpopup content.popup subMessage,
agpopup content.popup smallMessage {
  display: block;
  margin-top: 0px;
}
agpopup content.popup p {
  font-family: 'titillium_light', sans-serif;
}
agpopup content.popup subMessage {
  display: block;
  text-align: center;
  font-size: 14px;
  max-width: 200px;
  margin: 17px auto;
  line-height: 20px;
}
agpopup content.popup subMessage.big {
  font-size: 16px;
  max-width: 300px;
  line-height: 22px;
  text-align: left;
}
agpopup content.popup smallMessage {
  font-size: 12px;
}
agpopup content.popup #text1,
agpopup content.popup #text2 {
  position: absolute;
  opacity: 0.7;
}
agpopup content.popup a.toggleFeedbackLink {
  font-size: 12px;
  color: #31afb2;
}
agpopup content.popup #controls {
  margin-top: 50px;
  height: 40px;
}
agpopup content.popup #controls control {
  width: 100px;
}
agpopup content.popup #controls control#textInput,
agpopup content.popup #controls control#textInput2 {
  left: 20px;
  width: calc(100% - 40px);
}
agpopup content.popup #controls control#textInput input,
agpopup content.popup #controls control#textInput2 input {
  width: 100%;
  height: 35px;
}
agpopup content.popup #controls control#textInput3 {
  position: relative;
  width: calc(100% - 40px);
}
agpopup content.popup #controls control#textInput3 input {
  width: 100%;
  height: 35px;
}
agpopup content.popup #controls control#textArea {
  position: relative;
  display: block;
  width: 100%;
  height: 150px;
}
agpopup content.popup #controls control#textArea textArea {
  width: 100%;
  height: 150px;
}
agpopup content.popup #controls control#cancel,
agpopup content.popup #controls control#ok,
agpopup content.popup #controls control#third {
  position: absolute;
}
agpopup content.popup #controls control#cancel button,
agpopup content.popup #controls control#ok button,
agpopup content.popup #controls control#third button {
  width: 100%;
  height: 40px;
}
agpopup content.popup #controls control#cancel button inner,
agpopup content.popup #controls control#ok button inner,
agpopup content.popup #controls control#third button inner {
  line-height: 32px;
}
agpopup content.popup #controls control#admin {
  visibility: hidden;
  top: 200px;
  right: -45px;
}
agpopup content.popup #controls control#admin button inner {
  line-height: 25px;
}
agpopup content.popup #controls control.wide {
  width: 200px;
}
agpopup content.popup control#cancel {
  left: calc(25% - 50px);
}
agpopup content.popup control#ok {
  right: calc(25% - 50px);
}
agpopup content.popup control.wide#ok {
  left: calc(50% - 100px) !important;
}
agpopup content.popup.alert control#ok {
  left: calc(50% - 50px);
}
agpopup content.popup.prompt control#cancel,
agpopup content.popup.save control#cancel,
agpopup content.popup.load control#cancel,
agpopup content.popup.prompt control#ok,
agpopup content.popup.save control#ok,
agpopup content.popup.load control#ok {
  bottom: 15px;
}
agpopup content.popup.prompt control#textInput,
agpopup content.popup.save control#textInput {
  bottom: 85px;
  left: 20px;
  width: calc(100% - 40px);
}
agpopup content.popup.prompt #controls {
  height: 80px;
}
agpopup content.popup.save #controls,
agpopup content.popup.load #controls {
  height: 180px;
}
agpopup content.popup.save #controls control#dropdown,
agpopup content.popup.load #controls control#dropdown {
  top: 160px;
  left: 20px;
}
agpopup content.popup.save #controls #text1,
agpopup content.popup.load #controls #text1,
agpopup content.popup.save #controls #text2,
agpopup content.popup.load #controls #text2 {
  font-family: 'titillium_semibold', sans-serif;
  font-size: 12px;
}
agpopup content.popup.save #controls #text1,
agpopup content.popup.load #controls #text1 {
  top: 140px;
}
agpopup content.popup.load #controls control#dropdown,
agpopup content.popup.load #controls control#dropdown2 {
  width: calc(100% - 40px);
}
agpopup content.popup.load #controls control#dropdown2 {
  bottom: 85px;
}
agpopup content.popup.load #controls #text2 {
  bottom: 122px;
}
agpopup content.popup.save subMessage {
  margin-top: 0;
}
agpopup content.popup.save #controls control#dropdown {
  width: calc(100% - 86px);
}
agpopup content.popup.save #controls control#newTag {
  top: 157px;
  left: calc(100% - 57px);
}
agpopup content.popup.save #controls control#newTag button {
  height: 40px;
  width: 40px;
}
agpopup content.popup.save #controls control#newTag button svg {
  margin-top: 5px;
  width: 22px;
  height: 22px;
}
agpopup content.popup.save #controls control#textInput2 {
  width: calc(100% - 86px);
  top: 160px;
}
agpopup content.popup.save #controls #text2 {
  bottom: 120px;
}
agpopup content.popup.text #controls {
  height: 200px;
}
agpopup content.popup.text #controls control#textArea {
  bottom: 20px;
}
agpopup content.popup.text2 #controls {
  height: 230px;
}
agpopup content.popup.text2 #controls #textArea {
  padding-top: 10px;
}
agpopup content.popup.text2 #controls #cancel,
agpopup content.popup.text2 #controls #ok {
  bottom: 10px;
}
agpopup content.popup.finish .toggleFeedback {
  width: 100%;
  text-align: center;
}
agpopup content.popup.finish #controls {
  margin-top: 20px;
  z-index: 9;
}
agpopup content.popup.finish #controls control#cancel {
  left: calc(18% - 50px);
}
agpopup content.popup.finish #controls control#third {
  left: calc(50% - 50px);
}
agpopup content.popup.finish #controls control#ok {
  right: calc(18% - 50px);
}
agpopup content.popup.finish .feedback {
  margin-top: 20px;
  top: 235px;
  width: 100%;
  left: 0px;
}
agpopup content.popup.finish .feedback .difficulty,
agpopup content.popup.finish .feedback .songs {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 50px;
}
agpopup content.popup.finish .feedback RadioGroup#difficulty control,
agpopup content.popup.finish .feedback RadioGroup#songs control {
  top: 1px;
}
agpopup content.popup.finish .feedback RadioGroup#difficulty control button,
agpopup content.popup.finish .feedback RadioGroup#songs control button {
  width: 85px;
  height: 30px;
}
agpopup content.popup.finish .feedback RadioGroup#difficulty control button inner,
agpopup content.popup.finish .feedback RadioGroup#songs control button inner {
  line-height: 23px;
  font-size: 8px;
}
agpopup content.popup.finish .feedback #difficulty {
  top: 10px;
}
agpopup content.popup.finish .feedback #songs {
  top: 100px;
}
agpopup content.popup.finish .feedback div.description {
  width: 50px;
  font-size: 12px;
  color: #31afb2;
}
agpopup content.popup.finish .feedback div.difficulty .description {
  line-height: 30px;
}
agpopup content.popup.finish .feedback #tooEasy,
agpopup content.popup.finish .feedback #tooFew {
  left: 60px;
}
agpopup content.popup.finish .feedback #justRight,
agpopup content.popup.finish .feedback #justRightS {
  left: 150px;
}
agpopup content.popup.finish .feedback #tooHard,
agpopup content.popup.finish .feedback #tooMany {
  left: 240px;
}
agpopup content.popup.finish .feedback control#feedbackTextArea {
  display: block;
  position: relative;
  width: 100%;
  height: 100px;
}
agpopup content.popup.finish .feedback control#feedbackTextArea textArea {
  width: 100%;
  height: 100%;
  font-size: 12px;
}
agpopup content.popup.finish .feedback control#email {
  width: calc(100% - 40px);
  position: relative;
  top: 10px;
}
agpopup content.popup.finish .feedback control#email input {
  width: 100%;
  height: 30px;
  font-size: 12px;
}
agpopup content.popup.finish .feedback control#submitFeedback {
  bottom: 20px;
  left: calc(50% - 75px);
}
agpopup content.popup.finish .feedback control#submitFeedback button {
  width: 150px;
  height: 38px;
}
agpopup content.popup .checkBoxDiv {
  width: 100%;
  margin-left: 2%;
}
agpopup content.popup .checkBoxDiv .cbdDescription {
  display: inline-block;
  position: relative;
  width: 60%;
  left: 3%;
  font-size: 14px;
  top: -3px;
  color: #31afb2;
}
agpopup content.popup.text2 {
  height: 570px;
}
.audio-start-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.audio-start-popup-content {
  text-align: center;
}
.loading-text {
  color: #f49a13;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 1px;
}
.start-button {
  -webkit-appearance: none;
  appearance: none;
  background-color: black;
  border: 2px solid #f49a13;
  color: #f49a13;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 18px;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 120px;
  height: 100px;
}
.start-button:hover {
  background-color: #f49a13;
  color: white;
}
.start-button:active {
  background-color: #f49a13;
  color: white;
  transform: translateY(1px);
}
@media (max-width: 768px) {
  .loading-text {
    font-size: 20px;
  }
  .start-button {
    padding: 18px 36px;
    font-size: 20px;
    min-width: 140px;
  }
}
dropdown {
  padding: 0;
  background-color: #162433;
  border-width: 0;
  width: 100%;
  height: 34px;
  cursor: pointer;
  cursor: hand;
  display: inline-block;
  /* Android-specific touch improvements */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: manipulation;
  /* Burger menu styling */
}
dropdown inner {
  height: 100%;
  line-height: 35px;
  display: block;
  padding-left: 8px;
  font-size: 13px;
  border-radius: 2px;
  color: #31afb2;
  text-transform: uppercase;
}
dropdown menuBurger {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
}
dropdown menuBurger menuLine {
  display: block;
  width: 13px;
  height: 2px;
  border-radius: 1px;
  margin-bottom: 3px;
  background-color: #31afb2;
}
dropdown menuBurger menuLine:last-child {
  margin-bottom: 0;
}
dropdown.burger inner span {
  display: none;
}
dropdown.burger arrows {
  display: none;
}
dropdown.burger menuBurger {
  display: block !important;
}
dropdown.burger:active menuBurger menuLine {
  background-color: #efefef;
}
dropdown.open inner {
  color: #5bd1d9;
}
dropdown.open inner arrows {
  -ms-transform: rotate(180deg);
  /* IE 9 */
  -webkit-transform: rotate(180deg);
  /* Chrome, Safari, Opera */
  transform: rotate(180deg);
}
dropdown.open inner arrows svg {
  top: -8px;
}
dropdown.open inner arrows svg path {
  stroke: #5bd1d9;
}
dropdown.disabled {
  opacity: 0.5;
  cursor: default;
}
dropdown arrows {
  position: absolute;
  right: 10px;
  top: 2px;
  filter: url(#blur-filter);
  width: 8px;
}
dropdown arrows svg {
  width: 8px;
  height: 8px;
}
dropdown arrows svg path {
  stroke: #31afb2;
}
dropdown.short {
  height: 30px;
}
dropdown.short inner {
  line-height: 26px;
}
dropdown.short inner arrows {
  top: 5px;
}
dropdown.dark {
  background-color: #090e1b;
}
dropdown.dark svg path {
  fill: #2e3e4e;
  stroke: #2e3e4e;
}
dropdown.dark.open svg path {
  fill: #2e3e4e;
  stroke: #2e3e4e;
}
dropdown.outline {
  background-color: #020407;
  border: solid 1px rgba(83, 228, 237, 0.5);
  border-radius: 2px;
  color: rgba(83, 228, 237, 0.5);
}
dropdown.outline svg path {
  fill: rgba(83, 228, 237, 0.5);
  stroke: rgba(83, 228, 237, 0.5);
}
dropdown.outline agmenu {
  background-color: #020407;
  border: solid 1px rgba(83, 228, 237, 0.5);
}
dropdown.outline agmenu i {
  color: rgba(83, 228, 237, 0.5);
}
dropdown.outline agMenu::-webkit-scrollbar {
  background-color: #020407;
}
dropdown.outline agMenu::-webkit-scrollbar-thumb {
  background-color: rgba(83, 228, 237, 0.5);
}
dropdown.outline.open {
  border: solid 1px #53e4ed;
  color: #53e4ed;
}
dropdown.outline.open svg path {
  fill: #53e4ed;
  stroke: #53e4ed;
}
dropdown.outline.muted {
  border: solid 1px rgba(83, 228, 237, 0.3) !important;
}
dropdown.outline.muted agmenu {
  border: solid 1px #53e4ed;
}
dropdown.outline.muted agmenu i {
  color: rgba(83, 228, 237, 0.5);
}
dropdown.outline.muted.open {
  border: solid 1px #53e4ed !important;
}
dropdown.outline.orange {
  border: solid 1px rgba(244, 154, 19, 0.8);
  color: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange inner {
  color: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange svg path {
  fill: rgba(244, 154, 19, 0.8);
  stroke: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange agmenu {
  background-color: #020407;
  border: solid 1px rgba(244, 154, 19, 0.8);
  color: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange agmenu i {
  color: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange agMenu::-webkit-scrollbar-thumb {
  background-color: rgba(244, 154, 19, 0.8);
}
dropdown.outline.orange.open {
  border: solid 1px #f49a13;
  color: #f49a13;
}
dropdown.outline.orange.open inner {
  color: #f49a13;
}
dropdown.outline.orange.open svg path {
  fill: #f49a13;
  stroke: #f49a13;
}
dropdown.outline.rounded {
  border-radius: 20px;
}
dropdown.outline.rounded inner {
  padding-left: 15px;
}
dropdown.outline.rounded arrows {
  right: 15px;
}
dropdown.outline.rounded agMenu {
  left: 15px;
  width: calc(100% - 30px);
  border-top-color: transparent;
}
dropdown.outline.error {
  border-color: #c2184c !important;
}
agMenu {
  position: absolute;
  left: 0;
  width: calc(100% - 3px);
  overflow-x: hidden;
  background-color: #0f1923;
  color: #31afb2;
  z-index: 10000000;
  box-shadow: 0 5px 4px -4px black;
  padding: 4px 0;
  cursor: pointer;
  cursor: hand;
  /* Add buffer zone at top for touch devices to prevent accidental selection */
}
@media (pointer: coarse) {
  agMenu {
    padding-top: 15px;
  }
}
agMenu.above {
  box-shadow: 0px 0px 4px -4px black;
}
agMenu.double {
  width: calc(200% - 3px);
}
agMenu.triple {
  width: calc(300% - 3px);
}
agMenu.align-right {
  left: auto;
  right: 0;
}
agMenu.align-center {
  left: 50%;
  transform: translateX(-50%);
}
agMenu menuItem {
  display: block;
  position: relative;
  padding: 0px 0px 0px 10px;
  margin: 0 4px;
  font-size: 12px;
  height: 28px;
  line-height: 28px;
  opacity: 0.5;
  /* Touch device specific styling for better tap targets */
  /* Improve touch targeting on Android */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
@media (pointer: coarse) {
  agMenu menuItem {
    font-size: 14px;
    height: 42px;
    line-height: 42px;
    padding: 0px 0px 0px 10px;
  }
}
agMenu menuItem.enabled {
  opacity: 1;
}
agMenu menuItem svg {
  fill: #1b545f;
  position: absolute;
  top: 6px;
  left: calc(100% - 20px);
  width: 16px;
  height: 16px;
  /* Adjust checkmark position for touch devices */
}
@media (pointer: coarse) {
  agMenu menuItem svg {
    top: 13px;
  }
}
agMenu menuItem:hover.enabled {
  background-color: #162433;
}
agMenu menuItem.divider {
  padding: 0;
  height: 1px;
  background-color: rgba(49, 175, 178, 0.5);
  margin: 3px 5px;
}
agMenu menuItem.divider:hover {
  background-color: rgba(49, 175, 178, 0.5);
}
agMenu::-webkit-scrollbar {
  background-color: #090e14;
  width: 3px;
}
agMenu::-webkit-scrollbar-thumb {
  background-color: #8c9aa9;
  border-radius: 5px;
}
checkBox {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
}
checkBox.disabled {
  opacity: 0.5;
}
checkBox input {
  opacity: 0;
  cursor: pointer;
  position: absolute;
  z-index: 1;
  margin: 0 !important;
  height: 18px;
  width: 18px;
  left: 0px;
  top: 0px;
}
checkBox input:checked + .gradio .blkDot {
  background: none;
}
checkBox .gradio {
  height: 18px;
  width: 18px;
  background: linear-gradient(45deg, #7887c1, #7887c1, #f05ac4, #f05ac4, #f49a13);
  border-radius: 50px;
  display: inline-block;
  position: absolute;
}
checkBox .gradio .blkDot {
  height: 16px;
  width: 16px;
  background: black;
  border: 3px solid black;
  border-radius: 50px;
  display: inline-block;
  position: relative;
  top: 1px;
  left: 1px;
}
checkBox.big {
  width: 22px;
  height: 22px;
}
checkBox.big input {
  height: 22px;
  width: 22px;
}
checkBox.big .gradio {
  height: 22px;
  width: 22px;
}
checkBox.big .gradio .blkDot {
  height: 20px;
  width: 20px;
}
checkBox.bg1 .blkDot {
  background: #162433;
  border: 3px solid #162433;
}
checkBox.blue .gradio {
  background: #31afb2;
}
control {
  position: absolute;
}
control controlLabel {
  left: 10px;
}
controlSet {
  position: absolute;
}
display {
  background-color: #090e14;
  border-radius: 4px;
  border-width: 0;
  text-align: center;
  display: inline-block;
  color: #efefef;
}
detachedMenu mouseCircle {
  position: absolute;
  display: block;
  border: solid 1px white;
  background-color: #090e14;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  z-index: 100000;
}
detachedMenu mouseLine {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
}
detachedMenu dMenu {
  position: absolute;
  border: solid 1px #efefef;
  border-radius: 3px;
  background-color: #090e14;
  z-index: 1000000;
}
detachedMenu dMenu menuItem {
  display: block;
  padding: 0 5px;
  color: #efefef;
  text-align: center;
}
detachedMenu dMenu menuItem.disabled {
  color: #888888;
}
knob {
  display: block;
  position: absolute;
  width: 42px;
  height: 42px;
  cursor: hand;
  cursor: pointer;
}
knob handle {
  display: block;
  position: absolute;
  background: url(https://d1eztesmy1mmbo.cloudfront.net/images/knobHandle.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-color: #111927;
  border-radius: 50%;
}
knob svg {
  width: 100%;
  height: 100%;
}
knob div {
  position: absolute;
  width: 100%;
  height: 100%;
}
knob valueLabel {
  display: block;
  position: absolute;
  font-size: 10px;
  top: 13px;
  width: 100%;
  text-align: center;
}
knob.no-handle handle {
  opacity: 0;
}
knob.disabled {
  opacity: 0.3;
  cursor: default;
}
controlLabel {
  position: relative;
  font-size: 10px;
}
controlLabel.disabled {
  opacity: 0.5;
}
agMeter {
  position: absolute;
}
agMeter canvas {
  border: 1px solid #090e14;
  background-color: #c9c9c9;
  position: absolute;
}
slider {
  width: 100px;
  height: 22px;
  position: absolute;
  overflow: hidden;
}
slider sliderTrack {
  position: absolute;
  height: 10px;
  border-radius: 4px;
}
slider sliderTrack.background {
  width: 100%;
  background-color: #1c5b65;
}
slider sliderTrack.foreground {
  background: linear-gradient(to top, #f05ac4, #f49a13);
}
slider thumb {
  width: 24px;
  height: 24px;
  position: relative;
  background: linear-gradient(to top, rgba(244, 154, 19, 0.8) 0%, rgba(240, 90, 196, 0.8) 80%, rgba(49, 175, 178, 0.8));
  display: block;
  cursor: pointer;
  cursor: hand;
  border-radius: 50%;
}
slider thumb inner {
  display: block;
  position: absolute;
  background-color: #090e1b;
  left: 1px;
  top: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  text-align: center;
  font-size: 10px;
  line-height: 23px;
  color: #62e9ef;
  text-transform: uppercase;
}
slider.bipolar sliderTrack.foreground {
  background: linear-gradient(to top, #1c5b65, #f49a13, #f05ac4 40%, #f05ac4 60%, #f49a13, #1c5b65);
}
slider.bipolar thumb {
  background: linear-gradient(to right, rgba(244, 154, 19, 0.8), rgba(240, 90, 196, 0.8) 20%, rgba(240, 90, 196, 0.8) 80%, rgba(49, 175, 178, 0.8));
}
slider.horizontal sliderTrack {
  margin-top: 7px;
  height: 11px;
}
slider.horizontal sliderTrack.background {
  width: 100%;
}
slider.horizontal sliderTrack.foreground {
  width: 11px;
}
slider.horizontal thumb {
  left: -1px;
  top: 2px;
}
slider.vertical sliderTrack {
  margin-left: 11px;
  width: 3px;
}
slider.vertical sliderTrack.background {
  height: 100%;
}
slider.range thumb {
  border-radius: 4px;
  width: 100%;
  height: 40px;
}
slider.range thumb handle {
  display: block;
  position: relative;
  height: 13px;
  width: 60%;
  left: 20%;
  background-color: #efefef;
  opacity: 0.5;
  border: solid 1px #090e14;
  border-top-width: 0;
}
slider.range thumb handle:active {
  opacity: 1;
}
slider.range thumb bottomLabel {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
  top: calc(100% - 33px);
  text-transform: uppercase;
}
slider.range sliderTrack {
  margin-left: 0;
}
slider.range sliderTrack.foreground {
  opacity: 0;
}
slider.disabled sliderTrack {
  opacity: 0.5;
}
slider.disabled thumb {
  opacity: 0.5;
}
zoom sliderTrack {
  position: absolute;
  border-radius: 2px;
}
zoom sliderTrack.background {
  background-color: #090e14;
}
zoom sliderTrack.foreground {
  background-color: #7887c1;
}
zoom.horizontal sliderTrack {
  margin-top: 7px;
  height: 11px;
}
zoom.horizontal sliderTrack.background {
  width: 100%;
}
zoom.horizontal sliderTrack.foreground {
  width: 11px;
}
zoom.horizontal zoomSlider {
  left: -1px;
}
zoom.vertical sliderTrack {
  margin-left: 7px;
  width: 11px;
}
zoom.vertical sliderTrack.background {
  height: 100%;
}
zoom zoomSlider {
  width: 24px;
  height: 24px;
  background-color: #7887c1;
  display: block;
  cursor: pointer;
  cursor: hand;
  border: solid 1px #202020;
  border-radius: 50%;
}
numSlider display {
  cursor: pointer;
  cursor: hand;
  position: relative;
  background-color: #162433;
  width: 75px;
  height: 32px;
  line-height: 36px;
  border-radius: 2px;
  color: #efefef;
  font-family: 'titillium_semibold', sans-serif;
  text-align: left;
  padding-left: 20px;
}
numSlider control#plus,
numSlider control#minus {
  left: 52px;
}
numSlider control#plus {
  top: 0px;
}
numSlider control#plus svg {
  margin-top: 2px;
}
numSlider control#minus {
  top: 14px;
}
numSlider control button {
  height: 16px;
  width: 22px;
}
numSlider control button inner {
  height: 14px;
  font-size: 14px;
  line-height: 12px;
}
numSlider control button svg {
  height: 9px;
  width: 9px;
}
simpleScroll {
  background-color: #1b2b3d;
  border: 1px solid #111927;
}
simpleScroll.vertical {
  width: 16px;
}
simpleScroll.vertical scroller {
  width: 14px;
  left: auto;
  margin: 0 auto;
}
simpleScroll.vertical scroller grab {
  width: 100%;
  height: 16px;
  padding-top: 2px;
}
simpleScroll.vertical scroller grab grabLine {
  display: block;
  height: 1px;
  margin-top: 2px;
  left: 2px;
  width: 70%;
}
simpleScroll.vertical scroller grab:last-child {
  top: calc(100% - 16px);
  padding-top: 2px;
}
simpleScroll.horizontal {
  height: 18px;
}
simpleScroll.horizontal scroller {
  height: 14px;
  top: auto;
  margin: auto 0;
}
simpleScroll.horizontal scroller grab {
  height: 100%;
  width: 16px;
  padding-left: 4px;
}
simpleScroll.horizontal scroller grab grabLine {
  display: inline-block;
  margin-left: -1px;
  width: 1px;
  top: -2px;
  height: 70%;
}
simpleScroll.horizontal scroller grab:last-child {
  left: calc(100% - 16px);
  padding-left: 5px;
}
simpleScroll scroller {
  background-color: #344552;
  display: block;
  cursor: pointer;
  cursor: hand;
  border-radius: 1px;
}
simpleScroll scroller grab {
  display: block;
  position: absolute;
}
simpleScroll scroller grab grabLine {
  position: relative;
  background-color: #53626d;
}
selectionBox {
  position: absolute;
  display: block;
  visibility: hidden;
  background-color: rgba(194, 232, 237, 0.2);
  border: 1px solid #eceff1;
  z-index: 10000;
  box-shadow: 0 0 4px 0px #53e4ed;
}
textInput {
  display: block;
  text-align: center;
}
textInput input {
  left: 0;
  background-color: #020407;
  padding-left: 10px;
  border: solid 1px rgba(83, 228, 237, 0.5);
  border-radius: 1px !important;
  color: rgba(83, 228, 237, 0.75) !important;
  background-color: black !important;
}
textInput input.disabled {
  opacity: 0.5;
}
textInput input:focus {
  outline-width: 0;
  border-color: #53e4ed;
  color: #53e4ed !important;
}
textInput input::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-moz-placeholder {
  /* Firefox 19+ */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(83, 228, 237, 0.5);
}
textInput input::-moz-placeholder {
  /* Firefox 18- */
  color: rgba(83, 228, 237, 0.5);
}
textInput input.error {
  border-color: #c2184c !important;
}
textInput.transparent input {
  background-color: transparent;
  border-color: transparent;
}
control:focus {
  outline: none;
}
control textArea {
  color: rgba(83, 228, 237, 0.75) !important;
  background-color: black !important;
  border: solid 1px rgba(83, 228, 237, 0.5);
  padding: 7px 10px;
  border-radius: 1px !important;
}
control textArea:focus {
  outline-width: 0;
  border-color: #53e4ed;
  color: #53e4ed !important;
}
control textArea::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: rgba(83, 228, 237, 0.5);
}
control textArea::-moz-placeholder {
  /* Firefox 19+ */
  color: rgba(83, 228, 237, 0.5);
}
control textArea:-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(83, 228, 237, 0.5);
}
control textArea:-moz-placeholder {
  /* Firefox 18- */
  color: rgba(83, 228, 237, 0.5);
}
control textArea.error {
  border-color: #c2184c !important;
}
.grid-bg {
  background-image: url("https://d1eztesmy1mmbo.cloudfront.net/images/grid_bg.png");
  background-repeat: repeat;
  background-size: 50%;
  background-position: -100px -170px;
}
.grid-bg .bg-cover {
  left: 0;
  width: 100%;
  background: linear-gradient(rgba(22, 36, 51, 0.5), #162433 75%);
  position: absolute;
  border: solid 0 #162433;
  border-left-width: 4px;
  border-right-width: 4px;
}
.grid-bg.solid {
  background-image: none;
  height: calc(100% - 45px);
  overflow-y: auto;
}
dawEditor {
  display: none;
}
dawEditor middle {
  display: block;
  overflow: scroll;
  background-color: #111927;
}
dawEditor middle .text {
  color: #f49a13;
  font-size: 23px;
  position: absolute;
  text-align: center;
  width: 100%;
  padding: 0 20px;
  font-family: 'titillium_light', sans-serif;
}
dawEditor middle .text p {
  max-width: 600px;
  margin: 0 auto 30px auto;
}
dawEditor middle .empty-text {
  display: none;
  top: calc(50% - 130px);
}
dawEditor middle .empty-text control {
  position: absolute;
}
dawEditor middle .empty-text control#addTrackStart {
  top: 0;
  left: 0;
}
dawEditor middle .empty-text.free {
  top: calc(50% - 180px);
}
dawEditor middle .empty-text.after {
  top: calc(50% + 50px);
  position: absolute;
  text-align: center;
  width: 100%;
  padding: 0 20px;
  font-family: 'titillium_light', sans-serif;
  font-size: 17px;
}
dawEditor middle .empty-text.after a {
  color: #5bd1d9;
}
dawEditor middle .empty-text.after a:link {
  color: #5bd1d9;
}
dawEditor middle .empty-text.after a:visited {
  color: #5bd1d9;
}
dawEditor middle .empty-text.after a:active {
  color: #efefef;
}
dawEditor middle #size-text {
  color: white;
  padding-top: 40px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  display: none;
}
dawEditor middle #size-text p.small {
  font-size: 16px;
}
dawEditor middle controlSet.empty-buttons {
  display: none;
  top: calc(50% - 50px);
  width: 100%;
}
dawEditor middle controlSet.empty-buttons control button {
  width: 160px;
  height: 110px;
}
dawEditor middle controlSet.empty-buttons control button inner {
  line-height: 170px;
  font-size: 14px;
}
dawEditor middle controlSet.empty-buttons control#addTrackStart {
  left: calc(50% - 180px);
}
dawEditor middle controlSet.empty-buttons control#addTrackStart svg {
  top: 15px;
  left: 60px;
  width: 40px;
  height: 40px;
}
dawEditor middle controlSet.empty-buttons control#addTrackStart.centered {
  left: calc(50% - 80px);
}
dawEditor middle controlSet.empty-buttons control#loadSessionStart {
  left: calc(50% + 20px);
}
dawEditor middle controlSet.empty-buttons control#loadSessionStart svg {
  top: 15px;
  left: 55px;
  width: 50px;
  height: 50px;
}
dawEditor middle controlSet.empty-buttons.free {
  top: calc(50% - 100px);
}
dawEditor middle controlSet.empty-buttons.free control#loadSessionStart {
  left: calc(50% - 70px);
}
dawEditor middle control#contestInfoStart {
  bottom: 15px;
  left: calc(50% - 90px);
}
dawEditor middle control#contestInfoStart button {
  width: 180px;
  height: 50px;
}
dawEditor middle control#contestInfoStart button inner span {
  font-size: 16px !important;
  line-height: 40px;
}
dawEditor #ratingsPopup {
  display: none;
  width: 800px;
  background-color: #111927;
  border: solid 1px rgba(255, 255, 255, 0.5);
  position: absolute;
  z-index: 1000000;
  right: 150px;
  top: 90px;
  padding: 10px 20px;
}
dawEditor #ratingsPopup #songName {
  font-size: 24px;
}
dawEditor #ratingsPopup #contestantName {
  opacity: 0.8;
  font-size: 18px;
}
dawEditor #ratingsPopup #divider {
  height: 1px;
  background-color: white;
  opacity: 0.5;
  margin: 5px 0 20px 0;
}
dawEditor #ratingsPopup #leftCol,
dawEditor #ratingsPopup #rightCol {
  display: inline-block;
  vertical-align: top;
}
dawEditor #ratingsPopup #leftCol {
  width: 49%;
  margin-right: 20px;
}
dawEditor #ratingsPopup #rightCol {
  width: 45%;
}
dawEditor #ratingsPopup .criterion {
  margin-bottom: 30px;
}
dawEditor #ratingsPopup .criterion .criterionName,
dawEditor #ratingsPopup .criterion .stars {
  display: inline-block;
}
dawEditor #ratingsPopup .criterion .criterionName {
  font-size: 24px;
  width: 190px;
  vertical-align: top;
}
dawEditor #ratingsPopup .criterion .stars {
  cursor: pointer;
}
dawEditor #ratingsPopup .criterion .row2 {
  opacity: 0.8;
  font-size: 12px;
}
dawEditor #ratingsPopup control#comment textarea {
  width: 360px;
  height: 200px;
}
dawEditor #ratingsPopup control#submit {
  top: 400px;
}
dawEditor #ratingsPopup control#submit button {
  width: 200px;
  height: 60px;
}
dawEditor #ratingsPopup control#submit button inner {
  line-height: 50px;
}
dawEditor #ratingsPopup control#submit button inner span {
  font-size: 24px;
}
dawEditor #ratingsPopup control#reject {
  top: 410px;
  left: 630px;
}
dawEditor #ratingsPopup control#reject button {
  width: 120px;
  height: 40px;
}
dawTopEditor {
  position: relative;
  display: block;
  padding: 7px 10px;
  top: 0;
  height: 50px;
  background-color: #111927;
}
dawTopEditor #trackLoad {
  position: absolute;
  left: 140px;
  top: 8px;
  width: 25px;
  height: 25px;
}
dawTopEditor control {
  position: absolute;
}
dawTopEditor control#addTrack {
  width: 120px;
}
dawTopEditor control#moveTracks {
  display: none;
  left: 217px;
}
dawTopEditor control#moveTracks button {
  width: 60px;
}
dawTopEditor control#entries {
  right: 280px;
}
dawTopEditor control#entries button {
  width: 70px;
}
dawTopEditor control#rate {
  right: 150px;
}
dawTopEditor control#rate button {
  width: 120px;
}
dawTopEditor control#session {
  width: 100px;
  right: 10px;
}
dawTopEditor #rated {
  display: inline-block;
  position: absolute;
  text-transform: uppercase;
  right: 225px;
  top: 15px;
  display: none;
}
dawTopEditor controlSet {
  position: absolute;
}
dawTopEditor controlSet.view {
  top: 7px;
  left: 265px;
}
dawTopEditor controlSet.view button {
  width: 75px;
}
dawTopEditor controlSet.view control#midi {
  left: 80px;
}
dawTopEditor controlSet.session {
  top: 5px;
  right: 10px;
}
dawTopEditor controlSet.session control {
  position: absolute;
}
dawTopEditor controlSet.session control#admin {
  right: 295px;
}
dawTopEditor controlSet.session control#admin button {
  width: 60px;
}
dawTopEditor controlSet.session control#file {
  right: 185px;
  width: 100px;
}
dawTopEditor controlSet.session control#dbSession {
  right: 0px;
  width: 175px;
}
dawTopEditor controlSet.dbSession {
  top: 8px;
  right: 10px;
}
dawTracksEditor {
  display: block;
  width: 100%;
}
dawBottomEditor {
  display: block;
  position: absolute;
  width: 100%;
  bottom: 40;
  z-index: 100;
}
trackEditor {
  display: block;
  border-bottom: solid #7dfbff 1px;
  padding: 10px;
  margin: 10px;
  min-height: 150px;
  white-space: nowrap;
  color: #efefef;
}
trackEditor #name {
  position: absolute;
  display: inline-block;
  top: 2px;
  left: 0px;
  font-size: 14px;
  background-color: #162433;
}
trackEditor #name textInput {
  text-align: left;
}
trackEditor #name input {
  width: 100px;
  left: 0;
}
trackEditor controlSet.leftControls {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 120px;
  height: 80px;
}
trackEditor controlSet.leftControls control {
  position: relative;
  top: 0;
}
trackEditor controlSet.leftControls control knob {
  width: 35px;
  height: 35px;
  display: inline-block;
  position: absolute;
  top: -5px;
}
trackEditor controlSet.leftControls control#delete,
trackEditor controlSet.leftControls control#solo,
trackEditor controlSet.leftControls control#mute,
trackEditor controlSet.leftControls control#volume {
  display: none;
}
trackEditor controlSet.leftControls control#record,
trackEditor controlSet.leftControls control#inputMonitoring,
trackEditor controlSet.leftControls control#velocityMonitoring {
  top: 30px;
}
trackEditor controlSet.leftControls control#addEffect {
  display: none;
  position: absolute;
  top: 75px;
  width: 125px;
}
trackEditor controlSet.leftControls control#minimize {
  position: absolute;
  top: 60px;
  left: 0;
}
trackEditor controlSet.leftControls control#minimize button {
  width: 40px;
  height: 25px;
}
trackEditor controlSet.leftControls control#minimize button inner {
  line-height: 21px;
  font-size: 12px;
}
trackEditor controlSet.leftControls control#disableEditing {
  position: absolute;
  top: 60px;
  left: 45px;
}
trackEditor controlSet.leftControls control#disableEditing button {
  width: 60px;
  height: 25px;
}
trackEditor controlSet.leftControls control#disableEditing button inner {
  line-height: 21px;
  font-size: 12px;
}
trackEditor controlSet.leftControls control#scratchAudio {
  position: absolute;
  top: 90px;
  left: 0;
}
trackEditor controlSet.leftControls control#scratchAudio button {
  width: 60px;
  height: 25px;
}
trackEditor controlSet.leftControls control#scratchAudio button inner {
  line-height: 21px;
  font-size: 12px;
}
trackEditor controlSet.leftControls button {
  width: 20px;
  height: 20px;
}
trackEditor controlSet.leftControls button inner {
  line-height: 15px;
  font-size: 12px;
}
trackEditor controlSet.leftControls fileUploader {
  display: none;
  margin-top: 10px;
}
trackEditor waveform {
  position: relative;
  display: inline-block;
  width: 800px;
  height: 100px;
}
trackEditor component {
  position: relative;
  display: inline-block;
  vertical-align: top;
  top: 0;
  left: 0;
  margin-right: 20px;
}
trackEditor trackEffectsEditor {
  display: block;
  position: relative;
  left: 300px;
}
trackEditor trackEffectsEditor controlSet.effectControls {
  position: absolute;
  top: 0;
  left: 0;
}
trackEditor trackEffectsEditor controlSet.effectControls control#add {
  position: relative;
  top: 10px;
}
trackEditor trackEffectsEditor controlSet.effectControls control#effectSelect {
  visibility: hidden;
  position: relative;
  top: 20px;
}
trackEditor trackEffectsEditor controlSet.effectControls control#effectSelect select {
  width: 150px;
}
dawMIDIEditor {
  position: relative;
  display: block;
  opacity: 0;
  color: #efefef;
  background-color: #162433;
}
dawMIDIEditor div.top-controls {
  display: none;
  height: 48px;
  border: solid 0 #111927;
  border-bottom-width: 2px;
}
dawMIDIEditor controlSet#clipboard {
  position: absolute;
  display: block;
  top: 8px;
  right: 15px;
}
dawMIDIEditor controlSet#clipboard control {
  position: relative;
}
dawMIDIEditor controlSet#clipboard button {
  width: 50px;
  height: 26px;
}
dawMIDIEditor controlSet#clipboard button inner {
  line-height: 21px;
}
dawMIDIEditor #editPianoSeparator,
dawMIDIEditor #editZoomSeparator {
  width: 1px;
  height: 35px;
  position: absolute;
  top: 0;
  background-color: #15363c;
}
dawMIDIEditor #editPianoSeparator {
  left: 85px;
}
dawMIDIEditor control#editMode {
  position: absolute;
  left: 0px;
  top: 0px;
}
dawMIDIEditor control#editMode controlLabel {
  top: -6px;
  left: 15px;
}
dawMIDIEditor control#beatZoom {
  position: absolute;
  top: 0px;
  width: 30px;
  height: 32px;
}
dawMIDIEditor control#beatZoom button {
  width: 32px;
  height: 32px;
}
dawMIDIEditor control#beatZoom button inner svg {
  margin-top: 7px;
  margin-left: -5px;
  width: 14px;
  height: 14px;
}
dawMIDIEditor control#previousTrack,
dawMIDIEditor control#nextTrack {
  top: 46px;
}
dawMIDIEditor control#previousTrack button,
dawMIDIEditor control#nextTrack button {
  height: 30px;
}
dawMIDIEditor control#previousTrack button inner svg,
dawMIDIEditor control#nextTrack button inner svg {
  margin-bottom: 3px;
}
dawMIDIEditor control#previousTrack {
  left: 15px;
}
dawMIDIEditor control#nextTrack {
  left: 55px;
}
dawMIDIEditor control#numBars {
  top: 97px;
  left: 10px;
  width: 60px;
}
dawMIDIEditor control#beatsPerBar {
  top: 97px;
  left: 80px;
  width: 60px;
}
dawMIDIEditor control#beatsPerBar controlLabel {
  left: 5px;
}
dawMIDIEditor control#divisionsPerBeat {
  top: 157px;
  left: 10px;
  width: 60px;
}
dawMIDIEditor control#timeSig {
  top: 285px;
  left: 10px;
  width: 70px;
}
dawMIDIEditor control#metro {
  left: 10px;
  top: 50px;
}
dawMIDIEditor control#metro button {
  width: 32px;
  height: 32px;
}
dawMIDIEditor control#metro button svg {
  height: 24px;
  width: 24px;
  margin-top: 2px;
}
dawMIDIEditor control.tempo {
  left: 48px;
  top: 50px;
}
dawMIDIEditor control#timing,
dawMIDIEditor control#playheadTriangle,
dawMIDIEditor control#playheadLine,
dawMIDIEditor control#noteHighlight,
dawMIDIEditor control#beatHighlight {
  left: 10px;
}
dawMIDIEditor control#timing button,
dawMIDIEditor control#playheadTriangle button,
dawMIDIEditor control#playheadLine button,
dawMIDIEditor control#noteHighlight button,
dawMIDIEditor control#beatHighlight button {
  width: 100px;
}
dawMIDIEditor control#gridPitchLabels {
  top: 220px;
  left: 10px;
  width: 80px;
}
dawMIDIEditor control#velocity {
  top: 157px;
  left: 80px;
}
dawMIDIEditor control#velocity button {
  width: 60px;
  height: 34px;
}
dawMIDIEditor control#timing {
  top: 360px;
}
dawMIDIEditor control#playheadTriangle {
  top: 400px;
}
dawMIDIEditor control#playheadLine {
  top: 440px;
}
dawMIDIEditor control#beatHighlight {
  top: 480px;
}
dawMIDIEditor control#noteHighlight {
  top: 520px;
}
dawMIDIEditor control#reduceCPU {
  bottom: 85px;
  left: 28px;
  width: 100px;
}
dawMIDIEditor control#reduceCPU button {
  width: 100%;
}
dawMIDIEditor control#latencyLeft,
dawMIDIEditor control#latencyRight {
  bottom: 20px;
  width: 28px;
  height: 28px;
}
dawMIDIEditor control#latencyLeft button,
dawMIDIEditor control#latencyRight button {
  width: 100%;
  height: 100%;
}
dawMIDIEditor control#latencyLeft button svg,
dawMIDIEditor control#latencyRight button svg {
  margin-bottom: 3px;
  width: 10px;
  height: 10px;
}
dawMIDIEditor control#latencyLeft {
  left: 15px;
}
dawMIDIEditor control#latencyRight {
  left: 118px;
}
dawMIDIEditor control#latencyAutoDetect {
  bottom: 10px;
  left: 0px;
  width: 100%;
  height: 11px;
}
dawMIDIEditor control#latencyAutoDetect button {
  width: 100%;
  height: 100%;
}
dawMIDIEditor control#latencyAutoDetect button inner {
  line-height: 11px;
  font-size: 11px;
}
dawMIDIEditor #dawPrefs {
  position: absolute;
  top: 290px;
  padding: 0 12px;
}
dawMIDIEditor #dawPrefs label {
  font-weight: normal ;
}
dawMIDIEditor #dawPrefs checkBox {
  margin-right: 5px;
  padding-top: 2px;
  width: 15px;
  height: 15px;
}
dawMIDIEditor #dawPrefs checkBox .gradio {
  height: 15px;
  width: 15px;
}
dawMIDIEditor #dawPrefs checkBox .gradio .blkDot {
  height: 13px;
  width: 13px;
  top: -1px;
}
dawMIDIEditor #reduceCPUMessage {
  position: absolute;
  color: red;
  font-size: 12px;
  text-align: center;
  bottom: 125px;
  display: none;
  padding: 0 5px;
}
dawMIDIEditor #bpmLabel {
  position: absolute;
  font-family: 'titillium_semibold', sans-serif;
  color: #1b545f;
  top: 57px;
  left: 127px;
}
dawMIDIEditor #latencyAmount {
  position: absolute;
  bottom: 20px;
  height: 28px;
  width: 60px;
  background-color: #162433;
  text-align: center;
  line-height: 28px;
  left: 50px;
}
dawMIDIEditor #latencyLabel {
  position: absolute;
  bottom: 55px;
  left: 0px;
  font-size: 11px;
  text-align: center;
  width: 100%;
}
dawMIDIEditor zoomIcon {
  position: absolute;
  left: 209px;
  top: 11px;
}
dawMIDIEditor zoomIcon svg {
  width: 30px;
}
dawMIDIEditor control#trackZoomH {
  position: absolute;
  left: 245px;
  width: 100px;
  top: 10px;
}
dawMIDIEditor control#trackZoomH slider {
  width: 100px;
  height: 25px;
}
dawMIDIEditor overflow {
  display: block;
  border-color: #2e3e4e;
  border-style: solid;
  position: absolute;
  top: 46px;
  overflow: hidden;
  border-width: 0 1px 5px 1px;
}
dawMIDIEditor loopSlider {
  position: absolute;
  top: 0px;
  left: 0;
  width: calc(100% - 4px);
  height: 15px;
  overflow: hidden;
  border: solid 1px #162433;
}
dawMIDIEditor loopSlider bg {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #1e5b65;
  overflow: hidden;
}
dawMIDIEditor loopSlider loop {
  position: absolute;
  display: block;
  width: calc(100% + 1px);
  left: 0;
  top: 0;
  height: 15px;
  background-color: #65dae1;
  overflow: hidden;
  box-shadow: 0px 0px 10px 1px rgba(83, 228, 237, 0.25);
}
dawMIDIEditor loopSlider loop.disabled {
  background-color: #1a3e4b;
  box-shadow: 0px 0px 10px 1px rgba(83, 228, 237, 0);
}
dawMIDIEditor loopSlider loop tab {
  position: absolute;
  display: block;
  top: 0px;
  width: 20px;
  height: 100%;
  background-color: transparent;
  border: 0 solid #111927;
  border-right-width: 1px;
  border-left-width: 1px;
}
dawMIDIEditor loopSlider loop tab#left {
  left: 0px;
}
dawMIDIEditor loopSlider loop tab#left.disabled {
  background-color: #1a3e4b;
}
dawMIDIEditor loopSlider loop tab#right {
  right: 0;
}
dawMIDIEditor loopSlider loop tab#right.disabled {
  background-color: #1a3e4b;
}
dawMIDIEditor playhead {
  top: 15px;
  left: 0;
  width: calc(100% - 4px);
  background-color: #14202e;
}
dawMIDIEditor triangleTail {
  position: absolute;
  display: block;
  width: 1px;
  background-color: #f49a13;
  z-index: 1000;
}
dawMIDIEditor triangleTail.willChange {
  will-change: transform;
}
dawMIDIEditor barline {
  position: absolute;
  top: 46px;
  background-color: #090e14;
  width: 2px;
}
dawMIDIEditor control#toggleDawControls {
  z-index: 10000;
  position: absolute;
  left: calc(100% - 20px);
}
dawMIDIEditor control#toggleDawControls button {
  width: 20px;
}
dawMIDIEditor control#toggleDawControls button svg {
  width: 10px;
  height: 10px;
}
dawMIDIEditor div#dawSettings {
  z-index: 1000;
  position: absolute;
  left: 100%;
  width: 160px;
  box-shadow: -10px 0px 10px -10px black;
}
dawMIDIEditor div#dawSettings #header {
  height: 35px;
  padding: 10px 0 5px 10px;
  background-color: #162433;
  color: #5bd1d9;
  font-size: 12px;
  font-family: 'titillium_semibold', sans-serif;
  border: solid 0 #0f1923;
  border-bottom-width: 1px;
}
dawMIDIEditor div#dawSettings #header svg {
  fill: #1b545f;
  margin-right: 5px;
  width: 1em;
  height: 1em;
  position: relative;
  top: 2px;
}
dawMIDIEditor div#dawSettings #body {
  background-color: #0f1923;
  height: calc(100% - 16px);
  border: solid 0 #162433;
  border-top-width: 1px;
}
@media screen and (max-width: 575px) {
  dawMIDIEditor div#dawSettings #body {
    height: calc(100% - 30px);
  }
}
dawMIDIEditor div.scrollFiller {
  background-color: #162433;
}
dawMIDIEditor div#belowTrackControls {
  width: 110px;
  height: 16px;
  position: absolute;
  top: calc(100% - 16px);
  left: 3px;
  border-right: 1px solid #2e3e4e;
  border-top: 1px solid #111927;
}
dawMIDIEditor div#belowTrackControls control {
  top: -3px;
  width: 16px;
  height: 16px;
}
dawMIDIEditor div#belowTrackControls control button {
  width: 100%;
  height: 100%;
}
dawMIDIEditor div#belowTrackControls control button inner {
  line-height: 8px;
  font-size: 12px;
  border-width: 0;
}
dawMIDIEditor div#belowTrackControls control#hZoom1 {
  right: 38px;
}
dawMIDIEditor div#belowTrackControls control#hZoom2 {
  right: 24px;
}
dawMIDIEditor div#belowTrackControls control#hZoomAll {
  right: 8px;
}
dawMIDIEditor div#belowTrackControls control#hZoom {
  right: 0px;
  top: 0px;
  width: 31px;
  height: 15px;
}
dawMIDIEditor div#belowTrackControls control#hZoom dropdown {
  height: 100%;
  position: absolute;
}
dawMIDIEditor div#belowTrackControls control#hZoom dropdown inner {
  line-height: 13px;
  font-size: 10px;
}
dawMIDIEditor div#belowTrackControls control#zoomOut {
  right: 2px;
  top: -4px;
  width: 64px;
  height: 20px;
}
dawMIDIEditor div#belowTrackControls #zoomLabel {
  position: absolute;
  top: 1px;
  right: 26px;
  color: #25787d;
  font-size: 10px;
  padding-top: 0;
}
dawMIDIEditor div#belowTrackControls.noZoom control {
  display: none;
}
dawMIDIEditor div#belowTrackControls.noZoom2 control#hZoom1 {
  right: 24px;
}
dawMIDIEditor div#belowTrackControls.noZoom2 control#hZoom2 {
  display: none;
}
dawMIDIEditor div#bottomRightCorner {
  position: absolute;
  top: calc(100% - 16px);
  left: calc(100% - 19px);
  border-bottom: 1px solid #111927;
  width: 16px;
  height: 17px;
}
dawMIDIEditor simpleScroll {
  z-index: 100;
  position: absolute;
}
dawMIDIEditor simpleScroll scroller {
  position: relative;
}
dawMIDIEditor simpleScroll.vertical {
  left: calc(100% + 2px);
  top: 0;
}
dawMIDIEditor simpleScroll.horizontal {
  bottom: -2px;
  left: 113px;
}
dawMIDIEditor simpleScroll.horizontal scroller {
  height: 15px;
}
triangle {
  position: absolute;
  width: 22px;
  left: 0;
  top: 2px;
  will-change: auto;
}
triangle.willChange {
  will-change: transform;
}
playhead {
  position: absolute;
  height: 19px;
  display: block;
  overflow: hidden;
  z-index: 1000;
  background-color: #111927;
}
playhead beats {
  overflow: hidden;
}
playhead beat {
  position: relative;
  display: block;
  float: left;
  height: 17px;
  top: 1px;
  background-color: transparent;
  border: 1px solid rgba(244, 154, 19, 0.3);
  font-family: 'titillium_bold', sans-serif;
  overflow: hidden;
  color: #f49a13;
  border-radius: 1px;
  font-size: 12px;
  line-height: 17px;
  will-change: auto;
}
playhead beat.willChange {
  will-change: border-color, background-color;
}
playhead beat div {
  position: absolute;
  top: 0;
  left: 4px;
}
playhead beat.on {
  border-color: #f49a13;
  background-color: rgba(244, 154, 19, 0.2);
}
playhead.beatZoom {
  height: 35px;
  top: 0px;
}
playhead.beatZoom beat {
  height: 33px;
  color: #53e4ed;
  border-color: #20686a;
}
playhead.beatZoom beat.on {
  border-color: #53e4ed;
  background-color: #2a5863;
}
playhead.dawSmall beat div {
  left: 7px;
}
trackMIDIEditors {
  display: block;
  position: absolute;
  left: 0px;
  width: 100%;
}
trackMIDIEditor {
  position: absolute;
  padding: 0;
  margin: 0;
  display: block;
  border-top: 1px solid #53c3ca;
}
trackMIDIEditor vKey {
  cursor: default;
}
trackMIDIEditor cLine {
  position: absolute;
  display: block;
  background-color: #efefef;
  width: 3px;
  z-index: 48;
}
trackMIDIEditor popup {
  position: absolute;
  display: block;
  background-color: #efefef;
  border: 1px solid #090e14;
  overflow: visible;
  visibility: hidden;
}
trackMIDIEditor popup control {
  display: block;
  height: 55px;
  width: 55px;
}
trackMIDIEditor popup control select option {
  z-index: 100000000;
}
trackMIDIEditor trackControls {
  position: absolute;
  border-top: 1px solid #53c3ca;
  top: -1px;
  background-color: #111927;
}
trackMIDIEditor trackControls.dawSmall control#trackEnable {
  left: 0px;
}
trackMIDIEditor trackControls.dawSmall control#trackEnable button {
  width: 30px;
  height: 30px;
}
trackMIDIEditor trackControls.dawSmall control#trackEnable button inner {
  height: calc(100% - 6px);
  width: calc(100% - 6px);
  line-height: 24px;
  margin: 3px;
}
trackMIDIEditor trackControls.dawSmall control#settings {
  left: 0px;
  top: 40px;
  width: 30px;
  height: 24px;
}
trackMIDIEditor trackControls.dawSmall control#settings button {
  width: 30px;
  height: 24px;
}
trackMIDIEditor trackControls.dawSmall control#settings button svg {
  width: 14px;
  height: 14px;
}
trackMIDIEditor trackControls.dawSmall control#expand {
  top: 67px;
  left: 0px;
  width: 30px;
  height: 34px;
}
trackMIDIEditor trackControls.dawSmall control#expand button {
  width: 30px;
  height: 34px;
}
trackMIDIEditor trackControls.dawSmall control#expand button svg {
  width: 15px;
  height: 15px;
  margin-left: -1px;
}
trackMIDIEditor trackControls.dawSmall control#scratchAudio {
  position: absolute;
  width: 25px;
  height: 25px;
  left: 4px;
}
trackMIDIEditor trackControls.dawSmall control#scratchAudio button {
  width: 25px;
  height: 25px;
}
trackMIDIEditor trackControls.dawSmall control#scratchAudio button svg {
  margin-left: -5px;
  width: 16px;
  height: 16px;
}
trackMIDIEditor trackControls.dawSmall control#enable {
  top: -7px;
  left: 100px;
}
trackMIDIEditor trackControls img {
  max-width: 100%;
  height: auto;
}
trackMIDIEditor trackControls .settingsDivider {
  position: absolute;
  background-color: #101826;
  height: 1px;
  left: 7px;
  width: 216px;
}
trackMIDIEditor trackControls #settingsDividerTop {
  top: 63px;
}
trackMIDIEditor trackControls valueLabel {
  color: #31afb2;
}
trackMIDIEditor trackControls controlLabel,
trackMIDIEditor trackControls .label {
  color: #25787d;
  font-size: 10px;
}
trackMIDIEditor trackControls #rangeLabel {
  position: absolute;
  top: 130px;
  left: 124px;
}
trackMIDIEditor trackControls #rootLabel {
  position: absolute;
  top: 130px;
  left: 184px;
}
trackMIDIEditor trackControls #rootLockLabel {
  position: absolute;
  top: 250px;
  left: 165px;
  width: 20px;
  height: 20px;
}
trackMIDIEditor trackControls #rootLockLabel #letter {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: solid 1px #25787d;
  color: #25787d;
  font-size: 8px;
  text-align: center;
  line-height: 18px;
  text-transform: uppercase;
}
trackMIDIEditor trackControls #rootLockLabel #line {
  position: relative;
  left: 20px;
  top: -10px;
  width: 15px;
  height: 1px;
  background-color: #25787d;
}
trackMIDIEditor trackControls .hashes {
  position: absolute;
  top: 196px;
  width: 3px;
}
trackMIDIEditor trackControls .hashes div {
  background-color: #25787d;
  width: 100%;
  height: 1px;
}
trackMIDIEditor trackControls #range-hashes {
  left: 128px;
}
trackMIDIEditor trackControls #root-hashes {
  left: 214px;
}
trackMIDIEditor trackControls #presetLoad {
  position: absolute;
  top: 67px;
  left: 187px;
  width: 12px;
  height: 12px;
}
trackMIDIEditor trackControls .drumLoad {
  position: relative;
  top: 40px;
  left: 0px;
  width: 8px;
  height: 8px;
}
trackMIDIEditor trackControls control {
  position: absolute;
}
trackMIDIEditor trackControls control#pianoView {
  position: absolute;
  left: 83px;
  top: -36px;
  width: 145px;
}
trackMIDIEditor trackControls control#pianoView controlLabel {
  top: -6px;
  left: 15px;
}
trackMIDIEditor trackControls control#trackEnable {
  top: 7px;
  left: 9px;
}
trackMIDIEditor trackControls control#trackEnable button {
  width: 42px;
  height: 42px;
}
trackMIDIEditor trackControls control#trackEnable button inner {
  line-height: 32px;
  font-size: 18px;
}
trackMIDIEditor trackControls control#trackEnable.touch {
  left: 5px;
}
trackMIDIEditor trackControls control#trackEnableSmall {
  top: 12px;
  left: 7px;
}
trackMIDIEditor trackControls control#trackEnableSmall button {
  width: 15px;
  height: 15px;
}
trackMIDIEditor trackControls control#expand {
  top: 25px;
  left: 58px;
}
trackMIDIEditor trackControls control#expand button {
  width: 13px;
  height: 27px;
}
trackMIDIEditor trackControls control#expand button svg {
  width: 13px;
  height: 16px;
}
trackMIDIEditor trackControls control#expand.touch {
  top: 35px;
  left: 55px;
}
trackMIDIEditor trackControls control#expand.touch button {
  width: 16px;
}
trackMIDIEditor trackControls control#expand.touch svg {
  height: 27px;
}
trackMIDIEditor trackControls control#settings {
  position: absolute;
  top: 1px;
  left: 59px;
  height: 13px;
  width: 13px;
}
trackMIDIEditor trackControls control#settings button {
  width: 110%;
}
trackMIDIEditor trackControls control#settings button inner {
  height: 100%;
}
trackMIDIEditor trackControls control#settings button inner svg {
  width: 12px;
  height: 12px;
}
trackMIDIEditor trackControls control#closeSettings {
  position: absolute;
  top: 40px;
  left: 5px;
}
trackMIDIEditor trackControls control#closeSettings button {
  height: 14px;
}
trackMIDIEditor trackControls control#closeSettings button inner {
  font-size: 12px;
  line-height: 15px;
}
trackMIDIEditor trackControls control#closeSettings button inner svg {
  height: 11px;
}
trackMIDIEditor trackControls control#closeSettings button inner svg path {
  stroke: #31afb2;
}
trackMIDIEditor trackControls control#presetCredit {
  position: absolute;
  top: 65px;
  left: 207px;
  width: 18px;
  height: 18px;
}
trackMIDIEditor trackControls control#presetCredit button {
  width: 100%;
  height: 100%;
}
trackMIDIEditor trackControls control#presetCredit button inner {
  line-height: 8px;
}
trackMIDIEditor trackControls control#presetCredit button inner span {
  font-size: 10px;
}
trackMIDIEditor trackControls control#chord {
  top: -13px;
  left: 3px;
}
trackMIDIEditor trackControls control#velocity {
  top: 15px;
  left: 6px;
}
trackMIDIEditor trackControls control#trackZoomV {
  left: 14px;
}
trackMIDIEditor trackControls control#trackZoomV slider {
  width: 25px;
  height: 50px;
}
trackMIDIEditor trackControls control#trackZoomV slider thumb {
  left: 2px;
}
@media screen and (max-width: 575px) {
  trackMIDIEditor trackControls control#trackZoomV {
    left: 2px;
  }
}
trackMIDIEditor trackControls control#deleteSmall {
  position: absolute;
  left: 2px;
}
trackMIDIEditor trackControls control#deleteSmall button {
  width: 31px;
  height: 31px;
}
trackMIDIEditor trackControls control#deleteSmall button inner {
  font-size: 16px;
}
trackMIDIEditor trackControls control#scratchAudio {
  position: absolute;
  left: 10px;
}
trackMIDIEditor trackControls control#scratchAudio button {
  width: 31px;
  height: 31px;
}
trackMIDIEditor trackControls control#scratchAudio button svg {
  margin-top: 5px;
  width: 16px;
  height: 16px;
}
trackMIDIEditor trackControls control#name {
  position: absolute;
  top: 6px;
  left: 27px;
}
trackMIDIEditor trackControls control#name input {
  width: 130px;
  color: #62e9ef;
  font-family: 'titillium_bold', sans-serif;
  font-size: 16px;
  padding-left: 0;
  background-color: #090e1b !important;
}
trackMIDIEditor trackControls control#editName {
  position: absolute;
  top: 35px;
  left: 157px;
}
trackMIDIEditor trackControls control#editName button {
  width: 75px;
  height: 14px;
}
trackMIDIEditor trackControls control#editName button inner {
  font-size: 12px;
  line-height: 12px;
}
trackMIDIEditor trackControls control#preset {
  position: absolute;
  top: 85px;
  left: 7px;
  width: 216px;
}
trackMIDIEditor trackControls control#preset controlLabel {
  top: -52px;
  left: 0px;
  font-size: 11px;
  color: rgba(49, 175, 178, 0.4);
}
trackMIDIEditor trackControls control#presetComplexity {
  position: absolute;
  top: 125px;
  left: 173px;
  width: 50px;
}
trackMIDIEditor trackControls control#presetComplexity controlLabel {
  left: -2px;
}
trackMIDIEditor trackControls control#loop {
  position: absolute;
  top: 105px;
  left: 80px;
  width: 143px;
}
trackMIDIEditor trackControls control#loop controlLabel {
  top: -2px;
  left: 20px;
}
trackMIDIEditor trackControls control#saveLoop {
  position: absolute;
  left: 164px;
  top: 145px;
}
trackMIDIEditor trackControls control#saveLoop button {
  width: 60px;
  height: 28px;
}
trackMIDIEditor trackControls control#saveLoop button inner {
  width: 56px;
  height: 24px;
  line-height: 24px;
  font-size: 12px;
}
trackMIDIEditor trackControls control.updown {
  width: 11px;
  height: 11px;
}
trackMIDIEditor trackControls control.updown button {
  height: 100%;
  width: 100%;
}
trackMIDIEditor trackControls control.updown button svg {
  margin-bottom: 13px;
  height: 9px;
  width: 9px;
}
trackMIDIEditor trackControls control#semiUpRange,
trackMIDIEditor trackControls control#semiDownRange {
  left: 138px;
}
trackMIDIEditor trackControls control#octaveUpRoot,
trackMIDIEditor trackControls control#octaveDownRoot,
trackMIDIEditor trackControls control#semiUpRoot,
trackMIDIEditor trackControls control#semiDownRoot {
  left: 195px;
}
trackMIDIEditor trackControls control#semiUpRoot,
trackMIDIEditor trackControls control#semiUpRange {
  top: 163px;
}
trackMIDIEditor trackControls control#octaveUpRoot {
  top: 147px;
}
trackMIDIEditor trackControls control#range {
  top: 185px;
  left: 132px;
}
trackMIDIEditor trackControls control#root {
  top: 185px;
  left: 189px;
}
trackMIDIEditor trackControls control#rootLock {
  left: 177px;
}
trackMIDIEditor trackControls control#rootLock button {
  width: 46px;
  height: 26px;
  border-radius: 5px;
}
trackMIDIEditor trackControls control#rootLock button inner {
  line-height: 24px;
  border-radius: 5px;
}
trackMIDIEditor trackControls control#rootLock button inner span {
  font-size: 12px;
}
trackMIDIEditor trackControls control#notes {
  top: 150px;
  left: 134px;
}
trackMIDIEditor trackControls control#notes button {
  width: 60px;
  height: 28px;
}
trackMIDIEditor trackControls control#notes button inner {
  width: 56px;
  height: 24px;
  line-height: 24px;
}
trackMIDIEditor trackControls control#volume,
trackMIDIEditor trackControls control.macro {
  position: absolute;
  left: 20px;
}
trackMIDIEditor trackControls control#volume controlLabel,
trackMIDIEditor trackControls control.macro controlLabel {
  top: -2px;
}
trackMIDIEditor trackControls control#drumLanes {
  position: absolute;
  left: 60px;
  top: 220px;
}
trackMIDIEditor trackControls control#drumLanes button {
  width: 100px;
}
trackMIDIEditor trackControls control#drumLanes button inner {
  font-size: 13px;
  font-family: 'titillium_regular', sans-serif;
}
trackMIDIEditor trackControls control#closeSettingsFromDrumLanes,
trackMIDIEditor trackControls control#closeDrumLanes {
  height: 20px;
}
trackMIDIEditor trackControls control#closeSettingsFromDrumLanes button,
trackMIDIEditor trackControls control#closeDrumLanes button {
  width: 20px;
  height: 20px;
}
trackMIDIEditor trackControls control#closeSettingsFromDrumLanes button inner,
trackMIDIEditor trackControls control#closeDrumLanes button inner {
  line-height: 20px;
  font-size: 15px;
}
trackMIDIEditor trackControls control#closeSettingsFromDrumLanes {
  top: 3px;
}
trackMIDIEditor trackControls control#closeDrumLanes {
  top: 23px;
}
trackMIDIEditor trackControls control#volume {
  top: 140px;
}
trackMIDIEditor trackControls control#volume controlLabel {
  left: -3px;
}
trackMIDIEditor trackControls control.macro controlLabel {
  margin-top: 4px;
  left: -13px;
  width: 70px;
  display: block;
  text-align: center;
}
trackMIDIEditor trackControls control#macro1 {
  top: 210px;
}
trackMIDIEditor trackControls control#macro2 {
  top: 280px;
}
trackMIDIEditor trackControls control#macro3 {
  top: 350px;
}
trackMIDIEditor trackControls control#timingRange {
  position: absolute;
  left: 20px;
  top: 250px;
}
trackMIDIEditor trackControls control#timingRange controlLabel {
  left: 0;
}
trackMIDIEditor trackControls control#timingShift {
  position: absolute;
  left: 20px;
  top: 320px;
}
trackMIDIEditor trackControls control#timingShift controlLabel {
  left: 0;
}
trackMIDIEditor trackControls control#timingCount {
  position: absolute;
  left: 20px;
  top: 390px;
}
trackMIDIEditor trackControls control#timingCount controlLabel {
  left: 0;
}
trackMIDIEditor trackControls control#timingStrum {
  position: absolute;
  left: 23px;
  top: 460px;
}
trackMIDIEditor trackControls control#timingStrum button {
  height: 25px;
}
trackMIDIEditor trackControls control#timingStrum button inner {
  line-height: 25px;
}
trackMIDIEditor trackControls control#trackDivision {
  position: absolute;
  width: 60px;
  left: 134px;
}
trackMIDIEditor trackControls control#trackDivision controlLabel {
  left: 20px;
  top: -4px;
}
trackMIDIEditor trackControls control#settingsScratchAudio {
  position: absolute;
  left: -5px;
}
trackMIDIEditor trackControls control#delete {
  position: absolute;
  left: 90px;
}
trackMIDIEditor trackControls control#delete button {
  width: 60px;
  height: 28px;
}
trackMIDIEditor trackControls control#delete button inner {
  width: 56px;
  height: 24px;
  line-height: 24px;
  font-size: 12px;
}
trackMIDIEditor trackControls drumLaneControls {
  visibility: hidden;
  display: block;
  position: absolute;
  height: 100%;
  left: 25px;
  width: 207px;
}
trackMIDIEditor trackControls drumLaneControls.complexity3 .drumLane {
  height: 12.5%;
}
trackMIDIEditor trackControls drumLaneControls.complexity2 .drumLane {
  height: 16.6%;
}
trackMIDIEditor trackControls drumLaneControls.complexity1 .drumLane {
  height: 33.3%;
}
trackMIDIEditor trackControls drumLaneControls control.drumPreset {
  left: 0px;
  width: 125px;
}
trackMIDIEditor trackControls drumLaneControls control.drumPreset controlLabel {
  top: -2px;
}
trackMIDIEditor trackControls drumLaneControls control.drumVolume {
  left: 133px;
}
trackMIDIEditor trackControls drumLaneControls control.drumVolume controlLabel {
  top: -2px;
  left: -3px;
}
trackMIDIEditor trackControls drumLaneControls control.drumMute,
trackMIDIEditor trackControls drumLaneControls control.drumSolo {
  position: relative;
}
trackMIDIEditor trackControls drumLaneControls control.drumMute button,
trackMIDIEditor trackControls drumLaneControls control.drumSolo button {
  width: 18px;
  height: 18px;
}
trackMIDIEditor trackControls drumLaneControls control.drumMute button inner,
trackMIDIEditor trackControls drumLaneControls control.drumSolo button inner {
  line-height: 14px;
  font-size: 12px;
}
trackMIDIEditor trackControls drumLaneControls control.drumMute {
  top: -12px;
  left: 182px;
}
trackMIDIEditor trackControls drumLaneControls control.drumSolo {
  top: 12px;
  left: 161px;
}
trackMIDIEditor trackControls drumLaneControls.challenge {
  left: 55px;
  width: 177px;
}
trackMIDIEditor trackControls drumLaneControls.challenge control.drumVolume {
  left: 103px;
}
trackMIDIEditor trackControls drumLaneControls.challenge control.drumMute {
  left: 152px;
}
trackMIDIEditor trackControls drumLaneControls.challenge control.drumSolo {
  left: 131px;
}
trackMIDIEditor trackControls zoomIcon {
  display: none;
  position: absolute;
  left: 11px;
}
trackMIDIEditor trackControls zoomIcon svg {
  height: 30px;
}
@media screen and (max-width: 575px) {
  trackMIDIEditor trackControls zoomIcon {
    left: 5px;
  }
}
trackMIDIEditor scratchAudioControls {
  display: block;
  position: absolute;
  width: 110px;
  height: 80px;
  background-color: #111927;
  border: solid 0 #2e3e4e;
  border-top-width: 1px;
}
trackMIDIEditor scratchAudioControls #enable {
  top: 7px;
  left: 10px;
}
trackMIDIEditor scratchAudioControls #enable button {
  width: 31px;
  height: 31px;
}
trackMIDIEditor scratchAudioControls #enable button svg {
  margin-top: 5px;
  width: 16px;
  height: 16px;
}
trackMIDIEditor scratchAudioControls #record {
  top: 10px;
  left: 48px;
}
trackMIDIEditor scratchAudioControls #record button {
  width: 27px;
  height: 27px;
}
trackMIDIEditor scratchAudioControls #record button svg {
  margin-left: -2px;
  width: 22px;
  height: 22px;
}
trackMIDIEditor scratchAudioControls #cycleTakes {
  top: 15px;
  left: 78px;
}
trackMIDIEditor scratchAudioControls #cycleTakes button {
  height: 27px;
  width: 27px;
}
trackMIDIEditor scratchAudioControls #cycleTakes button inner {
  left: 8px;
  line-height: 38px;
  font-size: 32px;
}
trackMIDIEditor scratchAudioControls #cycleTakes button svg {
  width: 12px;
  height: 12px;
  top: 0px;
  left: 8px;
}
trackMIDIEditor scratchAudioControls #takes {
  top: 48px;
  left: 10px;
  width: 95px;
  height: 22px;
}
trackMIDIEditor scratchAudioControls #takes inner {
  line-height: 22px;
}
trackMIDIEditor scratchAudioControls #takes inner arrows {
  right: 10px;
  top: 0;
}
trackMIDIEditor scratchAudioControls #takes inner arrows svg {
  width: 100%;
  height: 100%;
}
trackMIDIEditor scratchAudioControls.dawSmall #enable {
  top: -35px;
  left: 50px;
}
trackMIDIEditor scratchAudioControls.dawSmall #enable button {
  width: 25px;
  height: 25px;
}
trackMIDIEditor scratchAudioControls.dawSmall #enable button svg {
  margin-left: 0px;
  width: 15px;
  height: 15px;
}
trackMIDIEditor scratchAudioControls.dawSmall #takes {
  left: 50px;
  width: 55px;
}
trackMIDIEditor scratchAudioControls.dawSmall #takes inner arrows svg {
  width: 100%;
  height: 100%;
}
trackMIDIEditor waveformScrollContainer {
  overflow: hidden;
  position: absolute;
  display: block;
  height: 90px;
  width: 100%;
  border: solid 0 #2e3e4e;
  border-left-width: 1px;
  border-bottom-width: 1px;
  border-top-width: 1px;
}
trackMIDIEditor waveformScrollContainer waveform {
  display: block;
  position: relative;
  height: 90px;
  background-color: #090e1b;
}
trackMIDIEditor waveformScrollContainer waveformProgress {
  display: block;
  position: absolute;
  height: 90px;
  top: 0;
}
pianoScrollContainer {
  overflow: hidden;
  position: absolute;
  top: -1px;
  left: -28px;
  display: block;
  width: 28px;
  border-left: solid 1px #2e3e4e;
  border-top: 1px solid #53c3ca;
}
pianoScrollContainer vPiano {
  background-color: #111927;
}
pianoScrollContainer vPiano.vertical {
  position: absolute;
  width: 100%;
  left: 0;
  display: block;
  overflow: hidden;
}
pianoScrollContainer vPiano.vertical vKey {
  position: absolute;
  display: block;
  border-top: solid 1px #2e3e4e;
  left: 0;
  text-align: center;
  color: #31afb2;
  font-family: 'titillium_bold', sans-serif;
}
trackMove {
  display: block;
  position: absolute;
  top: 0;
  left: -40px;
  width: calc(100% + 40px);
  height: 100%;
  background-color: #090e14;
  border: solid 5px #7887c1;
  opacity: 0.8;
  z-index: 100000000;
}
trackMove control {
  position: absolute;
  left: calc(50% - 20px);
}
trackMove control#moveTrackUp {
  top: calc(33% - 20px);
}
trackMove control#moveTrackDown {
  top: calc(66% - 20px);
}
trackScrollContainer {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0px;
  display: block;
  width: 100%;
  border-left: solid 1px #2e3e4e;
  border-right: solid 1px #2e3e4e;
}
trackScrollContainer trackGrid {
  position: absolute;
  left: 0;
  overflow: hidden;
  background-color: #111927;
}
trackScrollContainer trackGrid background {
  position: absolute;
  height: 100%;
  width: 100%;
}
trackScrollContainer trackGrid background vLine {
  position: absolute;
  width: 1px;
  background-color: transparent;
  z-index: 2;
  border: solid 0 #090e1b;
}
trackScrollContainer trackGrid background hLine {
  position: absolute;
  height: 1px;
  background-color: transparent;
  z-index: 2;
}
trackScrollContainer trackGrid gridRow {
  position: absolute;
  display: block;
  z-index: 1;
}
trackScrollContainer trackGrid gridRow gridBox {
  display: inline-block;
  position: relative;
  border-radius: 1px;
  border: 1px solid #15363c;
  height: 100%;
  margin-left: 1px;
}
trackScrollContainer trackGrid gridRow gridBox .gridPitchLabel {
  color: #31afb2;
  opacity: 0.5;
  font-family: 'titillium_bold', sans-serif;
  position: absolute;
  top: 50%;
  text-align: center;
  min-width: 20px;
  visibility: hidden;
}
trackScrollContainer trackGrid gridRow gridBox gridBoxLine {
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #15363c;
  margin: 0;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle {
  display: inline-block;
  position: absolute;
  border: 1px solid #15363c;
  border-radius: 50%;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium {
  width: 17px;
  height: 17px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.topLeft {
  top: -10px;
  left: -10px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.topLeft.middle {
  left: -11px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.topRight {
  top: -10px;
  left: calc(100% - 8px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.bottomLeft {
  top: calc(100% - 8px);
  left: -10px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.bottomLeft.middle {
  left: -11px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.medium.bottomRight {
  top: calc(100% - 8px);
  left: calc(100% - 8px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large {
  width: 19px;
  height: 19px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.topLeft {
  top: -11px;
  left: -11px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.topLeft.middle {
  left: -12px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.topRight {
  top: -11px;
  left: calc(100% - 12px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.bottomLeft {
  top: calc(100% - 12px);
  left: -11px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.bottomLeft.middle {
  left: -12px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.large.bottomRight {
  top: calc(100% - 12px);
  left: calc(100% - 12px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small {
  width: 13px;
  height: 13px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.topLeft {
  top: -8px;
  left: -8px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.topLeft.middle {
  left: -9px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.topRight {
  top: -8px;
  left: calc(100% - 6px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.bottomLeft {
  top: calc(100% - 6px);
  left: -8px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.bottomLeft.middle {
  left: -9px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.small.bottomRight {
  top: calc(100% - 6px);
  left: calc(100% - 6px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest {
  width: 9px;
  height: 9px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.topLeft {
  top: -5px;
  left: -5px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.topLeft.middle {
  left: -6px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.topRight {
  top: -5px;
  left: calc(100% - 3px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.bottomLeft {
  top: calc(100% - 3px);
  left: -5px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.bottomLeft.middle {
  left: -6px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallest.bottomRight {
  top: calc(100% - 3px);
  left: calc(100% - 3px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest {
  background-color: #15363c;
  width: 5px;
  height: 5px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.topLeft {
  top: -3px;
  left: -3px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.topLeft.middle {
  left: -4px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.topRight {
  top: -3px;
  left: calc(100% - 3px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.bottomLeft {
  top: calc(100% - 3px);
  left: -3px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.bottomLeft.middle {
  left: -4px;
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.smallerest.bottomRight {
  top: calc(100% - 3px);
  left: calc(100% - 3px);
}
trackScrollContainer trackGrid gridRow gridBox gridCircle.hidden {
  display: none;
}
trackScrollContainer trackGrid gridRow gridBox.hideLines {
  border-width: 0;
}
trackScrollContainer trackGrid gridRow gridBox.hideLines gridBoxLine {
  display: none;
}
trackScrollContainer trackGrid gridColumn {
  position: absolute;
  display: block;
  visibility: hidden;
  background-color: #111927;
  z-index: 1;
  opacity: 0;
}
trackScrollContainer trackGrid note {
  position: absolute;
  display: block;
  background-image: url('https://d1eztesmy1mmbo.cloudfront.net/images/note_bg.png');
  background-repeat: repeat;
  background-size: 2px 2px;
  color: #efefef;
  border-style: solid;
  z-index: 50;
  will-change: auto;
}
trackScrollContainer trackGrid note .touch-indicator {
  position: absolute;
  right: 1px;
  top: 25%;
  width: 1px;
  height: 50%;
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 1.5px;
  z-index: 51;
  pointer-events: none;
}
trackScrollContainer trackGrid note.selected .touch-indicator {
  background-color: rgba(255, 255, 255, 0.5);
}
trackScrollContainer trackGrid note.willChange {
  will-change: background-color;
}
trackScrollContainer trackGrid note div {
  height: 100%;
  text-align: center;
}
trackScrollContainer trackGrid note.muted {
  opacity: 0.5;
}
trackScrollContainer trackGrid note.bg {
  pointer-events: none;
  z-index: 101;
  background-color: transparent;
  border-color: transparent;
}
trackScrollContainer trackGrid note.bg.bg-visible {
  border-color: rgba(198, 198, 198, 0.8);
}
trackScrollContainer trackGrid note.bg.bg-visible-subtle {
  border-style: dashed;
  border-color: rgba(198, 198, 198, 0.8);
}
trackScrollContainer trackGrid note.bg.bg-visible-incorrect {
  border-color: rgba(194, 24, 76, 0.7);
}
trackScrollContainer trackGrid note.bg.bg-visible-incorrect-subtle {
  border-color: rgba(228, 153, 179, 0.7);
}
trackScrollContainer trackGrid note icon {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
trackScrollContainer trackGrid note.melody {
  background-color: rgba(166, 83, 237, 0.5);
  border-color: #a653ed;
}
trackScrollContainer trackGrid note.melody.playing {
  background-color: rgba(166, 83, 237, 0.8);
}
trackScrollContainer trackGrid note.melody.selected {
  background-color: rgba(166, 83, 237, 0.8);
  border-color: #cfaded;
}
trackScrollContainer trackGrid note.chords {
  background-color: rgba(244, 231, 19, 0.5);
  border-color: #f4e713;
}
trackScrollContainer trackGrid note.chords.playing {
  background-color: rgba(244, 231, 19, 0.8);
}
trackScrollContainer trackGrid note.chords .touch-indicator {
  background-color: rgba(255, 255, 255, 0.5);
}
trackScrollContainer trackGrid note.chords.selected {
  background-color: rgba(244, 231, 19, 0.8);
  border-color: #efebcd;
}
trackScrollContainer trackGrid note.chords.selected .touch-indicator {
  background-color: rgba(255, 255, 255, 0.75);
}
trackScrollContainer trackGrid note.bass {
  background-color: rgba(244, 154, 19, 0.5);
  border-color: #f49a13;
}
trackScrollContainer trackGrid note.bass.playing {
  background-color: rgba(244, 154, 19, 0.8);
}
trackScrollContainer trackGrid note.bass.selected {
  background-color: rgba(244, 154, 19, 0.8);
  border-color: #edd3b9;
}
trackScrollContainer trackGrid note.drums {
  background-color: rgba(50, 192, 209, 0.5);
  border-color: #31afb2;
}
trackScrollContainer trackGrid note.drums.playing {
  background-color: rgba(50, 192, 209, 0.9);
}
trackScrollContainer trackGrid note.drums.selected {
  background-color: rgba(50, 192, 209, 0.9);
  border-color: #baecef;
}
trackScrollContainer trackGrid note.generic {
  background-color: rgba(198, 198, 198, 0.5);
  border-color: #c6c6c6;
}
trackScrollContainer trackGrid note.generic.playing {
  background-color: rgba(198, 198, 198, 0.8);
}
trackScrollContainer trackGrid note.generic.selected {
  background-color: rgba(198, 198, 198, 0.8);
  border-color: #c6c6c6;
}
trackScrollContainer trackGrid note.correct {
  background-color: rgba(44, 233, 164, 0.5);
  border-color: #2ce9a4;
}
trackScrollContainer trackGrid note.correct.playing {
  background-color: rgba(44, 233, 164, 0.7);
}
trackScrollContainer trackGrid note.correct.selected {
  background-color: rgba(44, 233, 164, 0.7);
  border-color: #dfeeda;
}
trackScrollContainer trackGrid note.incorrect {
  background-color: rgba(194, 24, 76, 0.5);
  border-color: #c2184c;
}
trackScrollContainer trackGrid note.incorrect.playing {
  background-color: rgba(194, 24, 76, 0.7);
}
trackScrollContainer trackGrid note.incorrect.selected {
  background-color: rgba(194, 24, 76, 0.7);
  border-color: #ffcccb;
}
trackScrollContainer trackGrid note.incorrect-subtle {
  background-color: rgba(228, 153, 179, 0.5);
  border-color: #e499b3;
}
trackScrollContainer trackGrid note.incorrect-subtle.playing {
  background-color: rgba(228, 153, 179, 0.7);
}
trackScrollContainer trackGrid note.incorrect-subtle.selected {
  background-color: rgba(228, 153, 179, 0.7);
  border-color: #ffcccb;
}
trackMIDIEditor.minimized trackControls {
  background-color: #162433;
}
trackMIDIEditor.minimized pianoScrollContainer {
  display: none;
}
trackMIDIEditor.minimized gridBox {
  display: none;
}
rowMute {
  position: absolute;
  display: block;
  background-color: #111a27;
  opacity: 0.75;
  z-index: 1000;
}
waveform {
  display: block;
}
#exportAudioPopup {
  padding: 40px 0 0 220px;
}
#exportAudioPopup control#loops {
  width: 60px;
  margin-left: 48px;
}
#exportAudioPopup control#loops controlLabel {
  top: -7px;
  left: 14px;
}
#exportAudioPopup control#export {
  margin-top: 70px;
}
#exportAudioPopup control#export button {
  width: 160px;
  height: 38px;
}
#exportAudioPopup #fadeOutSection {
  display: none;
  padding: 5px 0 0 85px;
}
#exportAudioPopup #fadeOutSection checkBox .gradio .blkDot {
  top: -5px;
}
#exportAudioPopup #fadeOutSection p {
  display: block;
  color: #efefef;
  font-size: 12px;
  margin-top: -24px;
  margin-left: 25px;
}
#exportAudioPopup #timer {
  display: none;
  margin-top: 130px;
  width: 160px;
  text-align: center;
  color: #31afb2;
  font-size: 14px;
}
#presetCreditPopup {
  width: 300px;
  height: 90px;
  background-color: #090e1a;
  position: absolute;
  z-index: 10000000000000;
  border: solid 1px #3eafb1;
  color: #3eafb1;
  padding: 5px 0;
}
#presetCreditPopup .creditLabel {
  text-align: right;
  width: 30%;
  display: inline-block;
  vertical-align: top;
  opacity: 0.7;
}
#presetCreditPopup .creditContent {
  padding: 0 5px;
  width: 70%;
  display: inline-block;
}
.lesson-content {
  margin: 0 auto;
  border-top: 0;
  height: calc(100% - 45px);
  background-color: #162433;
}
cover {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
}
cover block {
  position: absolute;
  display: block;
}
cover block.text {
  text-align: center;
  font-size: 100px;
  line-height: 100%;
  color: #525263;
}
cover div {
  width: 100%;
}
cover #bg {
  background-color: #111927;
  height: 100%;
}
cover #eye .extra1 {
  height: 30%;
}
cover #eye .eye {
  height: 40%;
  width: 100%;
  text-align: center;
}
cover #eye .eye svg {
  width: 100%;
  height: 100%;
}
cover #eye .text {
  height: 30%;
  text-align: center;
  font-size: 2vw;
  color: #8c9aa9;
  text-transform: uppercase;
}
component.chorus {
  width: 480px;
  height: 200px;
}
component.chorus mainSection {
  height: 130px;
}
component.chorus control#Mix {
  top: 35px;
  left: 58px;
}
component.chorus control#Mix controlLabel {
  left: 18px;
}
component.chorus control#Rate {
  top: knobRow;
  left: 160px;
}
component.chorus control#Rate controlLabel {
  left: 7px;
}
component.chorus control#Depth {
  top: 35px;
  left: 260px;
}
component.chorus control#Depth controlLabel {
  left: 2px;
}
component.chorus control#Offset {
  top: 35px;
  left: 370px;
}
component.chorus control#Offset controlLabel {
  left: 8px;
}
component.delay {
  width: 480px;
  height: 210px;
}
component.delay mainSection {
  height: 130px;
}
component.delay control#Mix {
  top: 35px;
  left: 28px;
}
component.delay control#Mix controlLabel {
  left: 18px;
}
component.delay control#Time {
  top: 40px;
  left: 120px;
  width: 45px;
}
component.delay control#Time controlLabel {
  left: -40px;
  top: 22px;
}
component.delay control#Feedback {
  top: 35px;
  left: 220px;
}
component.delay control#Feedback controlLabel {
  left: 2px;
}
component.delay control#Spread {
  top: 35px;
  left: 310px;
}
component.delay control#Spread controlLabel {
  left: 8px;
}
component.delay control#Output {
  top: 35px;
  left: 400px;
}
component.delay control#Output controlLabel {
  left: 3px;
}
hostedComponent#delay {
  display: block;
}
hostedComponent#delay control#Mix {
  left: 48px;
  top: 20px;
}
hostedComponent#delay control#Mix controlLabel {
  left: 12px;
}
hostedComponent#delay control#Time {
  left: 23px;
  top: 95px;
  width: 90px;
}
hostedComponent#delay control#Time controlLabel {
  left: -60px;
  top: 25px;
}
hostedComponent#delay control#Feedback {
  left: 48px;
  top: 170px;
}
hostedComponent#delay control#Feedback controlLabel {
  left: 0px;
}
hostedComponent#delay control#Spread {
  left: 48px;
  top: 245px;
}
hostedComponent#delay control#Spread controlLabel {
  left: 3px;
}
hostedComponent#delay control#Output {
  left: 48px;
  top: 320px;
}
hostedComponent#delay control#Output controlLabel {
  left: 3px;
}
hostedComponent#eq {
  display: block;
}
hostedComponent#eq control#Freq1 {
  left: 15px;
  top: 20px;
}
hostedComponent#eq control#Freq1 controlLabel {
  left: 7px;
}
hostedComponent#eq control#Gain1 {
  left: 80px;
  top: 20px;
}
hostedComponent#eq control#Gain1 controlLabel {
  left: 6px;
}
hostedComponent#eq control#Q1 {
  left: 48px;
  top: 95px;
}
hostedComponent#eq control#Q1 controlLabel {
  left: 12px;
}
hostedComponent#eq control#Freq2 {
  left: 15px;
  top: 170px;
}
hostedComponent#eq control#Freq2 controlLabel {
  left: 7px;
}
hostedComponent#eq control#Gain2 {
  left: 80px;
  top: 170px;
}
hostedComponent#eq control#Gain2 controlLabel {
  left: 6px;
}
hostedComponent#eq control#Q2 {
  left: 48px;
  top: 245px;
}
hostedComponent#eq control#Q2 controlLabel {
  left: 12px;
}
hostedComponent#eq control#Output {
  left: 48px;
  top: 320px;
}
hostedComponent#eq control#Output controlLabel {
  left: 3px;
}
multiEffects effect {
  display: inline-block;
  border: solid 0px #2e3e4e;
  border-bottom-width: 1px;
  border-right-width: 1px;
  height: 100%;
  width: 135px;
}
multiEffects effect .fxpre {
  height: 38px;
  border: solid 0px #2e3e4e;
  border-bottom-width: 1px;
}
multiEffects effect .fxpre control#Power {
  position: relative;
  top: 5px;
  left: 5px;
}
multiEffects effect .fxpre control#Power button {
  width: 25px;
  height: 25px;
}
multiEffects effect .fxpre control#Power button svg {
  position: absolute;
  width: 18px;
  height: 18px;
  top: -11px;
  left: 4px;
}
multiEffects effect .fxpre #label {
  position: relative;
  left: 40px;
  top: -23px;
}
multiEffects effect editor {
  position: relative;
  display: block;
  height: calc(100% - 40px);
  width: calc(100% - 80px);
  padding: 10px;
}
component.reverb {
  width: 480px;
  height: 210px;
}
component.reverb mainSection {
  height: 130px;
}
component.reverb control#Mix {
  top: 35px;
  left: 45px;
}
component.reverb control#Mix controlLabel {
  left: 15px;
}
component.reverb control#IR {
  top: 40px;
  left: 170px;
  height: 30px;
  width: 120px;
}
component.reverb control#IR controlLabel {
  left: -75px;
  top: 24px;
}
component.reverb control#Output {
  top: 35px;
  left: 380px;
}
component.reverb control#Output controlLabel {
  left: 4px;
}
hostedComponent#reverb {
  display: block;
}
hostedComponent#reverb control#Mix {
  top: 20px;
  left: 48px;
}
hostedComponent#reverb control#Mix controlLabel {
  left: 10px;
}
hostedComponent#reverb control#IR {
  top: 95px;
  left: 10px;
  height: 30px;
  width: 110px;
}
hostedComponent#reverb control#IR controlLabel {
  left: -60px;
  top: 24px;
}
hostedComponent#reverb control#Output {
  top: 170px;
  left: 48px;
}
hostedComponent#reverb control#Output controlLabel {
  left: 4px;
}
component.waveshaper {
  width: 540px;
  height: 210px;
}
component.waveshaper mainSection {
  height: 130px;
}
component.waveshaper control#Input {
  top: 35px;
  left: 58px;
}
component.waveshaper control#Input controlLabel {
  left: 7px;
}
component.waveshaper control#Type {
  top: 45px;
  left: 170px;
  width: 45px;
}
component.waveshaper control#Type controlLabel {
  top: 22px;
  left: -40px;
}
component.waveshaper control#Amount {
  top: 35px;
  left: 280px;
}
component.waveshaper control#Amount controlLabel {
  left: 7px;
}
component.waveshaper control#Output {
  top: 35px;
  left: 390px;
}
component.waveshaper control#Output controlLabel {
  left: 7px;
}
hostedComponent#waveshaper {
  display: block;
}
hostedComponent#waveshaper control#Input {
  left: 48px;
  top: 20px;
}
hostedComponent#waveshaper control#Input controlLabel {
  left: 5px;
}
hostedComponent#waveshaper control#Type {
  left: 23px;
  top: 95px;
  width: 90px;
}
hostedComponent#waveshaper control#Type controlLabel {
  top: 25px;
  left: -60px;
}
hostedComponent#waveshaper control#Amount {
  left: 48px;
  top: 170px;
}
hostedComponent#waveshaper control#Amount controlLabel {
  left: 1px;
}
hostedComponent#waveshaper control#Output {
  left: 48px;
  top: 245px;
}
hostedComponent#waveshaper control#Output controlLabel {
  left: 1px;
}
component.compressor {
  width: 580px;
  height: 290px;
}
component.compressor mainSection {
  height: 210px;
}
component.compressor mainSection control#InputGain {
  top: 130px;
  left: 58px;
}
component.compressor mainSection control#InputGain controlLabel {
  left: 8px;
}
component.compressor mainSection control#Threshold {
  top: 35px;
  left: 110px;
}
component.compressor mainSection control#Threshold controlLabel {
  left: 0px;
}
component.compressor mainSection control#Knee {
  top: 140px;
  left: 160px;
  width: 70px;
}
component.compressor mainSection control#Knee controlLabel {
  left: -50px;
  top: 22px;
}
component.compressor mainSection control#Ratio {
  top: 35px;
  left: 210px;
}
component.compressor mainSection control#Ratio controlLabel {
  left: 10px;
}
component.compressor mainSection control#Attack {
  top: 35px;
  left: 310px;
}
component.compressor mainSection control#Attack controlLabel {
  left: 8px;
}
component.compressor mainSection control#Release {
  top: 35px;
  left: 410px;
}
component.compressor mainSection control#Release controlLabel {
  left: 8px;
}
component.compressor mainSection control#OutputGain {
  top: 130px;
  left: 460px;
}
component.compressor mainSection control#OutputGain controlLabel {
  left: 8px;
}
hostedComponent#compressor {
  display: block;
}
hostedComponent#compressor control#InputGain {
  left: 48px;
  top: 20px;
}
hostedComponent#compressor control#InputGain controlLabel {
  left: 8px;
}
hostedComponent#compressor control#Threshold {
  left: 15px;
  top: 95px;
}
hostedComponent#compressor control#Threshold controlLabel {
  left: 2px;
}
hostedComponent#compressor control#Knee {
  left: 33px;
  top: 170px;
  width: 70px;
}
hostedComponent#compressor control#Knee controlLabel {
  left: -50px;
  top: 25px;
}
hostedComponent#compressor control#Ratio {
  left: 80px;
  top: 95px;
}
hostedComponent#compressor control#Ratio controlLabel {
  left: 10px;
}
hostedComponent#compressor control#Attack {
  left: 15px;
  top: 245px;
}
hostedComponent#compressor control#Attack controlLabel {
  left: 3px;
}
hostedComponent#compressor control#Release {
  left: 80px;
  top: 245px;
}
hostedComponent#compressor control#Release controlLabel {
  left: 3px;
}
hostedComponent#compressor control#OutputGain {
  left: 48px;
  top: 320px;
}
hostedComponent#compressor control#OutputGain controlLabel {
  left: 3px;
}
body {
  font-family: 'titillium_regular', sans-serif;
}
@keyframes spinner-line-fade-more {
  0%, 100% {
    opacity: 0; /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}

@keyframes spinner-line-fade-quick {
  0%, 39%, 100% {
    opacity: 0.25; /* minimum opacity */
  }
  40% {
    opacity: 1;
  }
}

@keyframes spinner-line-fade-default {
  0%, 100% {
    opacity: 0.22; /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}

@keyframes spinner-line-shrink {
  0%, 25%, 100% {
    /* minimum scale and opacity */
    transform: scale(0.5);
    opacity: 0.25;
  }
  26% {
    transform: scale(1);
    opacity: 1;
  }
}
/**
 * Audible Genius Embed Styles
 * Minimal, clean styling for the embeddable player
 */

/* Fix checkBox .blkDot centering — the Meteor app has a global CSS reset that affects
   inline-block positioning; the embed doesn't. Use flexbox on .gradio to center the dot
   reliably without relying on px offsets or line-height. */
checkBox .gradio {
  display: flex;
  align-items: center;
  justify-content: center;
}
checkBox .gradio .blkDot {
  position: static;
  box-sizing: border-box;
  top: auto;
  left: auto;
  transform: none;
}

/* Fix iOS Safari native button styling on the audioStartPopup play button */
.start-button {
  -webkit-appearance: none;
  appearance: none;
}

/* Embed-specific layout tweaks */
control#preset controlLabel {
  top: -56px !important;
}

control#presetCredit {
  top: 61px !important;
}

.ag-embed-studio {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Header Controls */
.ag-embed-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

.ag-controls {
  display: flex;
  gap: 8px;
}

.ag-btn {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  backdrop-filter: blur(10px);
}

.ag-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.ag-btn:active {
  transform: translateY(0);
}

.ag-btn-play .ag-icon {
  font-size: 16px;
}

.ag-info {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
}

.ag-tempo, .ag-time {
  background: rgba(0, 0, 0, 0.2);
  padding: 6px 12px;
  border-radius: 4px;
}

/* Timeline and Tracks */
.ag-tracks-container {
  background: #ffffff;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 500px;
  position: relative;
}

.ag-timeline-header {
  position: sticky;
  top: 0;
  background: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
  z-index: 10;
  padding: 8px 0;
}

.ag-timeline-markers {
  display: flex;
  position: relative;
  height: 30px;
  padding-left: 150px; /* Space for track headers */
}

.ag-bar-marker {
  position: absolute;
  top: 0;
  font-size: 12px;
  font-weight: 600;
  color: #495057;
  padding: 4px 8px;
  background: #e9ecef;
  border-radius: 4px;
}

/* Tracks */
.ag-tracks-list {
  position: relative;
}

.ag-track {
  display: flex;
  border-bottom: 1px solid #dee2e6;
  position: relative;
}

.ag-track-header {
  width: 150px;
  min-width: 150px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  background: #3498db;
  color: white;
  border-right: 2px solid rgba(255, 255, 255, 0.3);
}

.ag-track-name {
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-track-info {
  font-size: 11px;
  opacity: 0.9;
}

.ag-track-content {
  position: relative;
  flex: 1;
  background: #ffffff;
}

/* Grid */
.ag-track-grid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ag-grid-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
}

.ag-grid-beat {
  background: #e9ecef;
}

.ag-grid-bar {
  background: #adb5bd;
  width: 2px;
}

/* Notes */
.ag-note {
  position: absolute;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  cursor: default;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.1s ease;
}

.ag-note:hover {
  transform: scale(1.05);
  z-index: 5;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

/* Playhead */
.ag-playhead {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #e74c3c;
  z-index: 100;
  pointer-events: none;
  box-shadow: 0 0 8px rgba(231, 76, 60, 0.5);
  transition: left 0.05s linear;
  margin-left: 150px; /* Offset for track headers */
}

.ag-playhead::before {
  content: '';
  position: absolute;
  top: 0;
  left: -4px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #e74c3c;
}

/* Status */
.ag-status {
  padding: 8px 16px;
  font-size: 12px;
  text-align: center;
  background: #f8f9fa;
  color: #6c757d;
  border-top: 1px solid #dee2e6;
}

.ag-status-error {
  background: #f8d7da;
  color: #721c24;
}

/* Responsive */
@media (max-width: 768px) {
  .ag-embed-header {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }

  .ag-controls {
    justify-content: center;
  }

  .ag-info {
    justify-content: center;
  }

  .ag-track-header {
    width: 100px;
    min-width: 100px;
    padding: 8px;
  }

  .ag-track-name {
    font-size: 12px;
  }

  .ag-playhead {
    margin-left: 100px;
  }

  .ag-timeline-markers {
    padding-left: 100px;
  }
}

/* Scrollbar styling */
.ag-tracks-container::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.ag-tracks-container::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.ag-tracks-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}

.ag-tracks-container::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Fix dawBottomEditor width in embed mode - absolute positioning calculates width relative to positioned parent */
dawBottomEditor {
  position: relative !important;
}

controlBar {
  left: 0px !important;
  width: 100% !important;
}

numSlider display {
  font-size: 14px !important;
}

#bpmLabel, #latencyAmount {
  font-size: 14px !important;
}

middle {
  min-height: 0px !important;
  min-width: 0px !important;
}

/* Allow JavaScript to override with higher specificity when height option is provided */
#ag-main-content middle[style*="minHeight"] {
  min-height: inherit !important;
}

/* bootstrap stuff */

.label {
  padding: .2em .6em .3em;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

control {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box !important;
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button, select {
    text-transform: none;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

triangle {
  top: -1px !important;
}


