@font-face {
  font-family: 'clock'; /*a name to be used later*/
  src: url('../clock.ttf'); /*URL to font*/
}
html {
  height: 97%;
  min-height: 97%;
  /*bottom: 0;*/
  margin:10px;
  overflow-y: hidden;
  overflow-x: hidden;
  /*position: absolute;*/
}
body {
  /*position: absolute;*/
  height: 98%;
  min-height: 98%;
  /*bottom: 0;*/
  /*top: 0;*/
  margin: auto;
  padding: 0px !important;
  overflow: auto;

  background-color: #111111;
  font-family: "Trebuchet MS";
  cursor: crosshair;

  /* No select */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  font-size: 12px;
}

/* Shortcuts */
.inline {
  display: inline-block;
  vertical-align: middle;
}
.vertical {
  -webkit-transform: rotate(90deg);
}
.lfo-caption {
  color: #333333;
  font-size: 16px;
}
.block {
  display: block;
}
.fixed {
  position: fixed;
}
.hidden {
  display: none;
}

.vertical-middle {
  /*vertical-align: middle;*/
  /*margin: auto;*/
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

#title {
  font-size: 16px;
}
#outer {
  /*border-top: 1px solid orange;*/
  /*border-bottom: 1px solid orange;*/
  /*border: 1px solid;*/
  /*margin: 10px;*/
  padding: 2px;
}
#inner {
  /*border-left: 1px solid;*/
  /*border-right: 1px solid;*/
  /*border: 1px solid;*/
  /*margin: 0px 40px;*/
}
#top {
  /*margin: 20px;*/
  padding: 9px;
  border-bottom: 1px solid;
  /*display: inline-block;*/
}

#subtitle {
  vertical-align:middle;
}
#footer {
  /*width: 30%;*/
  display: inline-block;
  margin: 0 auto;
  bottom: 0;
  position: absolute;
  text-align: center;
}


.modal-content {
  background-color: #111111;
  /*border: 1px solid orange;*/
  border-radius: 0px;
}
.modal-box {
  background-color: #111111;
  padding: 15px;
  position: relative;
}
.modal {
  overflow-y: auto;
}
.modal-open {
  overflow: auto;
}
.modal.fade{
  -webkit-transition: opacity .2s linear, none;
  -moz-transition: opacity .2s linear, none;
  -ms-transition: opacity .2s linear, none;
  -o-transition: opacity .2s linear, none;
  transition: opacity .2s linear, none;
}

/* FONTS */
a {
  #color: orange;
}
a:hover {
  color: white;
  text-decoration: none;
}
h1, h2, h3, h4, h5, h6, span {
  /*font-family: ;*/
  display: inline;
  font-style: italic;
  margin: 4px;
}
p {
  margin: 0 0 2px;
}
.left {
  float: left;
}
.right {
  float: right;
}



button, input, select, textarea {
  font: 11px "Trebuchet MS";
}

/*  SETTINGS AND NAV */
.nav-buttons {
  font-size: 18px;
}
.nav-buttons i {
  cursor: pointer;
  margin: 0px 5px;
}
.nav-buttons i:hover {
  color: white;
}

.vert i{
  display:block;
  margin: 7px;
}

.mode-select {
  margin-top: 12px;
}

#keyboard-shortcuts {
  font-size: 14px;
  margin-right: 15px;
}
#keyboard-shortcuts td {
  padding: 2px 16px;
}

/* BPM */
.bpm {
  min-width: 67px;
  height: 32px;
  vertical-align: middle;
}
.btn-control {
  display: block;
  min-width: 45px;
  margin: 6px;
}
.btn-control.big {
  height: 30px;
  width: 40px;
}
button {
  background: none;
  border: 1px solid;
  outline: 0;
}
button:active {
  color: black;
}

.number {
  color: red;
  font-family: 'clock';
}

/*  SECTIONS  */
.control-section {
  display: inline-block;
  margin: 0px 12px;
  vertical-align: top;
  /*width: 45%;*/
}

.color-filter {
  /*-webkit-filter: contrast(1.4) saturate(1.8) sepia(.6);*/
  /*filter: contrast(1.4) saturate(1.8) sepia(.6);*/
}

#console {
  z-index: 50;
  position:relative;
  border-top: 1px solid;
  /*margin: 7px;*/
}
#control-wrap {
  /*display:block;*/
  /*margin: 0 auto;*/
  text-align: center;
  /*padding: 0px 30px;*/
}
#controls {
  display: inline-block;
  margin: 0 auto;
  width: 100%;
}

/* GRID */
#steps {
  cursor: pointer;
  color: red;
  font-family: 'clock';
  margin: auto 0;
}
.grid-notes {
  display:inline-block;
}
.grid-notes .number {
  display: block;
}

/* OCTAVES */
.octaves {
  display: block;
}
.octave {
  display: block;
  outline: 1px solid orange;
  border: 3px solid black;
  font-size: 10px;
  cursor: pointer;
  padding: 1px 5px;
}
.octave-set {
  display:inline-block;
  vertical-align: middle;
}

/* OSCILLOSCOPE */
.tinyscope {
  z-index: -1;
  height: 25px;
  width: 70px;
  margin: 4px 0px;
  /*border: 1px solid orange;*/
}
.oscilloscope {
  z-index: -1;
  height: 120px;
  width: 100%;
  margin: 0 auto;
  /*border: 1px solid orange;*/
}
.oscilloscope.full {
  height: 260px;
  /*position: relative;*/
}
.oscilloscope.big {
  height: 400px;
}

.oscExpand {
  /*float: right;*/
}
.svgWave {
}

/* KEYBOARD */
.keyboard-panel {
  position: relative;
  margin: 10px 0px;
}
.panel-column {
  display: inline-block;
  vertical-align: middle;
  margin: 0px 7px;
}
.keyboard {
  position:relative;
  /*margin-bottom: 8px;*/
}
.key-row {
  /*display: inline-block;*/
}
.keys {
  display: inline-block;
}
.key {
  color: orange;
  /*background-color: #111111;*/
  display:inline-block;
  outline: 1px solid orange;
  border: 4px solid black;
  height: 28px;
  width: 12px;
  padding: 5px;
  cursor: pointer;
  font-size: 10px;
  text-align: center;
  box-sizing: content-box;
  -webkit-box-sizing: content-box;
}
.key-blank {
  opacity: 0;
  border: none;
}
.key-disabled {
  background-color: #222222;
  color: #666666;
  outline: 1px solid #333333;
}
.key-on-disabled {
  background-color: #333333;
}

.key-base {
  /*background: repeating-linear-gradient(180deg, orange, orange 30px, black 30px, black 60px)*/
  border: 5px solid black;
  z-index: 99999;
}
.semitones {
  z-index: 5;
  /*position:absolute;*/
  bottom: 26px;
}

.semitone {
  /* TODO: make relative to reg height */
  height: 20px;
}

.pressed {
  color: black;
}

.addremove-track {
  font-size: 14px;
  display: inline-block;
  padding: 0px 4px;
  cursor: pointer;
}
.add-tracks {
  vertical-align: top;
  display: inline-block;
}
.control-btns {
  margin: 0px 2px;
}
.waveforms {
  display: inline-block;
  margin-bottom: 4px;
}
.waveforms svg {
  /*background-color: gray;*/
  height: 26px;
  width: 25px;
  text-align: center;
  cursor: pointer;
}
polyline, path {
  fill:none;
  stroke-width:2;
}
path:hover {
  stroke:red;
}
.wavforms svg:hover {
  stroke: red;
}

/* SHAPES */
.inactiveShape {
  opacity: 0.4;
}
.inactiveShape:hover {
  opacity: 1;
}

/* EFFECTS */
#effects {
  border-left: 1px solid;
  padding-left: 20px;
}

/* Dragger */
.Dragger {
  width: 40px;
  height: 40px;
  position: absolute;
  background-color: #111111;
  border-radius: 8%;
  z-index: 1;
  margin-top: -2px;
  /*border: 0.5px solid orange;*/
  cursor: -webkit-grab; }
.Dragger #Name {
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
  /*font-size: 8px;*/
  line-height: 39px;
  /*color: orange; */
}
.Dragger:hover {
  background-color: #222222;
  color: #444444;
}
.Dragger.is-pointer-down {
  cursor: -webkit-grabbing;
  /*background-color: orange;*/
}
.Dragger.is-pointer-down #Name {
  color: black;
}
.Axis {
  position: absolute;
  /*background-color: gray;*/
  width: 1px;
  height: 1px;
  top: 3px;
  left: 3px;
  border-radius: 1.5px;
  z-index: 0; }
#xAxis {
  width: calc(100% - 6px); }
#yAxis {
  height: calc(100% - 6px); }

.Axis.is-pointer-down, #xAxis.is-pointer-down, #xAxis.is-pointer-down {
  background-color: orange;
  width:5px;
  height: 5px;
}

@media handheld, only screen and (max-width: 767px) {
  .no-mobile { display:none; }
  /* MAIN */
  #outer { margin: 1px; padding:0px; }
  #top {
    z-index: 50;
    padding: 2px;
    position: absolute;
    width: 100%;
    /*text-align: center;*/
    border: none;
  }
  #title {  font-size: 12px; }
  #subtitle {
    font-size: 6px;
    /*display: none;*/
  }
  .nav-buttons {
    font-size: 13px;
  }
  /*span { font-size: 10px; }*/

  /* APP */
  #oscilloscopes, .oscilloscope {
    height: 120px;
  }
  #console {
    border: 0px;
  }
  .control-section {
    position: relative;
    width: 100%;
    margin: 0px;
  }
  .keyboard-panel {
    margin: 3px 0px;
  }
  #effects {
    border: none;
    padding: 0px;
  }
  #clock-control {
    display: none;
    /*bottom: 0;*/
    /*position: absolute;*/
  }

  /*.btn-control {*/
    /*margin: 6px 0px;*/
  /*}*/

  .panel-column {
    margin: 0px 12px;
  }

  .key {
    height: 22px;
    width: 9px;
  }
}


@media handheld, only screen and (max-width: 568px) {
  .panel-column {
    margin: 0px 6px;
  }
}