body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  color: green;
  background-color: #000000;
  /*background-color: #333333;
  background-image: radial-gradient(#FFBB00 0.5px, #333333 0.5px);
  background-size: 10px 10px;*/
  overflow: hidden;
  max-width: 100vw;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.script-row {
  display: flex;
  align-items: center;
  gap: 5px;
}

.script-row span {
  width: 100px;
  text-align: left;
  margin-bottom: 0;
  color: green;
}

.script-row {
  display: flex;
  gap: 5px;
}

.textbox {
  width: 40px;
  height: 40px;
  text-align: center;
  background-color: #000000;
  border: 2px solid green;
  color: green;
  border-radius: 5px;
  font-size: 14px;
  margin: 0 2px;
}

.textbox:focus {
  outline: none;
  border-color: yellowgreen;
}

.credits {
  display: none;
}

#audioPlayback {
display: none;
width: 200px !important;
}

header {
  position: fixed;
  align-items: center;
  margin-left: 10px;
  color: blue;
}

.drum-row span {
    color: green;
}

.drum-row[data-sound="9"] span {
    color: yellowgreen;
}

.drum-row[data-sound="10"] span {
    color: yellowgreen;
}

.drum-row[data-sound="11"] span {
    color: yellowgreen;
}

.drum-row[data-sound="9"] .grid-cell.active {
    background-color: yellowgreen;
}

.drum-row[data-sound="10"] .grid-cell.active {
    background-color: yellowgreen;
}

.drum-row[data-sound="11"] .grid-cell.active {
    background-color: yellowgreen;
}

.drum-row[data-sound="9"] .grid-cell {
    background-color: #000000;
  color: green;
  border: 5px solid yellowgreen;
}

.drum-row[data-sound="10"] .grid-cell {
    background-color: #000000;
    color: green;
    border: 5px solid yellowgreen;
}

.drum-row[data-sound="11"] .grid-cell {
    background-color: #000000;
    color: green;
    border: 5px solid yellowgreen;
}

.drum-row[data-sound="14"] span,
.drum-row[data-sound="15"] span,
.drum-row[data-sound="16"] span,
.drum-row[data-sound="17"] span,
.drum-row[data-sound="18"] span,
.drum-row[data-sound="19"] span,
.drum-row[data-sound="20"] span,
.drum-row[data-sound="21"] span,
.drum-row[data-sound="22"] span,
.drum-row[data-sound="23"] span,
.drum-row[data-sound="24"] span,
.drum-row[data-sound="25"] span {
    color: red;
}

.drum-row[data-sound="14"] .grid-cell.active,
.drum-row[data-sound="15"] .grid-cell.active,
.drum-row[data-sound="16"] .grid-cell.active,
.drum-row[data-sound="17"] .grid-cell.active,
.drum-row[data-sound="18"] .grid-cell.active,
.drum-row[data-sound="19"] .grid-cell.active,
.drum-row[data-sound="20"] .grid-cell.active,
.drum-row[data-sound="21"] .grid-cell.active,
.drum-row[data-sound="22"] .grid-cell.active,
.drum-row[data-sound="23"] .grid-cell.active,
.drum-row[data-sound="24"] .grid-cell.active,
.drum-row[data-sound="25"] .grid-cell.active {
    background-color: red;
}

.drum-row[data-sound="14"] .grid-cell,
.drum-row[data-sound="15"] .grid-cell,
.drum-row[data-sound="16"] .grid-cell,
.drum-row[data-sound="17"] .grid-cell,
.drum-row[data-sound="18"] .grid-cell,
.drum-row[data-sound="19"] .grid-cell,
.drum-row[data-sound="20"] .grid-cell,
.drum-row[data-sound="21"] .grid-cell,
.drum-row[data-sound="22"] .grid-cell,
.drum-row[data-sound="23"] .grid-cell,
.drum-row[data-sound="24"] .grid-cell,
.drum-row[data-sound="25"] .grid-cell {
    background-color: black;
    color: red;
    border: 5px solid red;
}

.drum-row[data-sound="26"] span,
.drum-row[data-sound="27"] span,
.drum-row[data-sound="28"] span,
.drum-row[data-sound="29"] span,
.drum-row[data-sound="30"] span,
.drum-row[data-sound="31"] span,
.drum-row[data-sound="32"] span,
.drum-row[data-sound="33"] span,
.drum-row[data-sound="34"] span,
.drum-row[data-sound="35"] span,
.drum-row[data-sound="36"] span,
.drum-row[data-sound="37"] span {
    color: darkred;
}

.drum-row[data-sound="26"] .grid-cell.active,
.drum-row[data-sound="27"] .grid-cell.active,
.drum-row[data-sound="28"] .grid-cell.active,
.drum-row[data-sound="29"] .grid-cell.active,
.drum-row[data-sound="30"] .grid-cell.active,
.drum-row[data-sound="31"] .grid-cell.active,
.drum-row[data-sound="32"] .grid-cell.active,
.drum-row[data-sound="33"] .grid-cell.active,
.drum-row[data-sound="34"] .grid-cell.active,
.drum-row[data-sound="35"] .grid-cell.active,
.drum-row[data-sound="36"] .grid-cell.active,
.drum-row[data-sound="37"] .grid-cell.active {
    background-color: darkred;
}

.drum-row[data-sound="26"] .grid-cell,
.drum-row[data-sound="27"] .grid-cell,
.drum-row[data-sound="28"] .grid-cell,
.drum-row[data-sound="29"] .grid-cell,
.drum-row[data-sound="30"] .grid-cell,
.drum-row[data-sound="31"] .grid-cell,
.drum-row[data-sound="32"] .grid-cell,
.drum-row[data-sound="33"] .grid-cell,
.drum-row[data-sound="34"] .grid-cell,
.drum-row[data-sound="35"] .grid-cell,
.drum-row[data-sound="36"] .grid-cell,
.drum-row[data-sound="37"] .grid-cell {
    background-color: black;
    color: darkred;
    border: 5px solid darkred;
}

.drum-row[data-sound="14"] .divider,
.drum-row[data-sound="15"] .divider,
.drum-row[data-sound="16"] .divider,
.drum-row[data-sound="17"] .divider,
.drum-row[data-sound="18"] .divider,
.drum-row[data-sound="19"] .divider,
.drum-row[data-sound="20"] .divider,
.drum-row[data-sound="21"] .divider,
.drum-row[data-sound="22"] .divider,
.drum-row[data-sound="23"] .divider,
.drum-row[data-sound="24"] .divider,
.drum-row[data-sound="25"] .divider {
    color: red;
}

.drum-row[data-sound="26"] .divider,
.drum-row[data-sound="27"] .divider,
.drum-row[data-sound="28"] .divider,
.drum-row[data-sound="29"] .divider,
.drum-row[data-sound="30"] .divider,
.drum-row[data-sound="31"] .divider,
.drum-row[data-sound="32"] .divider,
.drum-row[data-sound="33"] .divider,
.drum-row[data-sound="34"] .divider,
.drum-row[data-sound="35"] .divider,
.drum-row[data-sound="36"] .divider,
.drum-row[data-sound="37"] .divider {
    color: darkred;
}

b {
  color: green;
}

h4 {
  color: green;
  font-weight: bold;
}

h1 {
  font-size: 10px;
}

h2 {
  font-size: 12px;
}

h3 {
  font-size: 8px;
}

.container {
  /*background:
      linear-gradient(135deg,#0000 20.5%,#675f85 0 29.5%,#0000 0) 0 15px,
      linear-gradient( 45deg,#0000 8%,#675f85 0 17%, #0000 0 58%) 30px 0,
      linear-gradient(135deg,#0000 8%,#675f85 0 17%, #0000 0 58%,#675f85 0 67%,#0000 0),
      linear-gradient( 45deg,#0000 8%,#675f85 0 17%, #0000 0 58%,#675f85 0 67%,#0000 0 83%,#675f85 0 92%,#0000 0),
      #000000;
  background-size: 60px 60px;*/
  background-color: #000000;
  padding: 20px;
  border-radius: 8px;
  flex: 1;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}

footer {
  background-color: #000000;
  /*background-image: radial-gradient(#FFBB00 0.5px, transparent 0.5px), radial-gradient(#FFBB00 0.5px, #333333 0.5px);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;*/
  text-align: center;
  padding: 10px;
  position: fixed;
  left: -10px;
  bottom: 0px;
  width: 100%;
  max-width: 100%;
  z-index: 1000;
  align-items: center;
  justify-content: center;
  display: flex;
  box-shadow: 0px -5px 21px 0px rgba(0, 0, 0, 0.35);
}

.divider {
    color: darkgreen;
    width: 10px; /* Pas de breedte aan naar wens */
    text-align: center;
    margin: 0 5px; /* Ruimte tussen de stappen en de divider */
    margin: 8px 0;
}

.footercontainer {
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  max-width: 100%;
  width: 100%;
}

input[type="range"] {
-webkit-appearance: none;
width: 100%;
margin: 10px 0;
}

input[type="range"]::-webkit-slider-runnable-track {
width: 100%;
height: 8px;
background: #000;
border-radius: 5px;
border: 1px solid green;
}

input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
height: 20px;
width: 20px;
background: green;
border-radius: 50%;
cursor: pointer;
margin-top: -6px; /* Center the thumb */
}

input[type="range"]::-moz-range-track {
width: 100%;
height: 8px;
background: #000;
border-radius: 5px;
border: 1px solid green;
}

input[type="range"]::-moz-range-thumb {
height: 20px;
width: 20px;
background: green;
border-radius: 50%;
cursor: pointer;
}

input[type="range"]::-ms-track {
width: 100%;
height: 8px;
background: transparent;
border-color: transparent;
color: transparent;
}

input[type="range"]::-ms-fill-lower {
background: #000;
border: 1px solid green;
border-radius: 5px;
}

input[type="range"]::-ms-fill-upper {
background: #000;
border: 1px solid green;
border-radius: 5px;
}

input[type="range"]::-ms-thumb {
height: 20px;
width: 20px;
background: green;
border-radius: 50%;
cursor: pointer;
margin-top: 0px; /* Center the thumb */
}

.mobile-menu {
position: relative;
left: 20px;
bottom: 40px;
max-width: 100%;
justify-content: center;
}

#menu-toggle {
display: none;
}

.menu-icon {
cursor: pointer;
font-size: 24px;
}

.menu-items {
z-index: 1000;
display: none;
list-style-type: none;
padding: 0;
margin: 0;
position: center;
bottom: 100%;
left: 0;
max-width: 100% !important;
color: green;
}

#menu-toggle:checked ~ .menu-items {
display: block;

}

.menu-items li {
padding: 10px;
}

.menu-items a {
text-decoration: none;
color: green;
}

.step-indicators {
  display: flex;
  gap: 5px;
  justify-content: center;
  margin-bottom: 0;
}

.step-indicators .step {
  background-color: green;
  color: #000000;
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 2px; /* Adjust margin for consistent spacing */
  cursor: pointer;
  font-size: 12px;
}

.step-indicators .step.active {
  background-color: #000000;
  color: green;
  border: 2px solid green;
}

.controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.controls2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-direction: column;
}

.button-container {
display: flex;
justify-content: center; /* Zorgt ervoor dat de knoppen gecentreerd worden */
gap: 10px; /* Ruimte tussen de knoppen */
}

.recordButton, stopButton, .saveButton, #reverbButton, #fxChokeToggle, #prevPattern, #nextPattern, .refreshButton, .chordsButton, .indexButton, .liveButton, #toggle-button {
background-color: #000000;
color: green;
border: 2px solid green;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
}

#prevPattern:disabled {
background-color: #000000;
color: darkred;
border: 2px solid darkgreen;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
}

select {
background-color: #000000;
color: green;
border: 2px solid green;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
}

.recordButton {
display: block;
}

.stopButton, .saveButton {
display: none;
}

.stopButton, .saveButton {
display: none;
}

.custom-button, .custom-file-input[type="file"], #importSamples14to25Button, #importDrumButton  {
background-color: #000000;
color: green;
border: 2px solid green;
padding: 10px 20px;
font-size: 12px;
cursor: pointer;
border-radius: 5px;
margin: 5px;
width: 175px;
height: 70px;
display: block;
}

.custom-button:hover, .custom-file-input[type="file"], #importSamples14to25Button:hover, #importDrumButton:hover {
background-color: green;
color: #000000;
}

.custom-file-input {
width: 175px;
height: 65px;
display: flex;
align-items: center !important;
justify-content: center !important;
padding: 5px;
font-size: 12px;
color: green;
background-color: #000;
border: 2px solid green;
border-radius: 5px;
cursor: pointer;
box-sizing: border-box;
}

.custom-file-input:hover {
background-color: green;
color: #000;
}

.custom-file-input::-webkit-file-upload-button {
display: none;
}

.custom-file-input::before {
content: 'Import';
display: inline-block;
background: green;
border-radius: 5px;
color: black;
padding: 10px 20px;
cursor: pointer;
}

.custom-file-input:hover::before {
background-color: green;
color: #000;
}

#downloadLink {
display: none;
}

.controls button,
.controls input {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  text-align: center;
  line-height: 40px;
  padding: 0 10px;
  box-sizing: border-box;
  background-color: #000000;
  color: green;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.controls input {
  width: 60px;
  text-align: center;
  touch-action: none;
}

.dropbtn {
background-color: transparent;
color: green;
padding: 16px;
font-size: 16px;
border: none;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: block;
  position: fixed;
  right: 0;
  margin-right: 45px;
  bottom: 50px;
  background: rgba(74, 74, 74, 0.24);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1000;
  min-width: 200px;
  max-width: 200px;
  min-height: 500px;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: hidden !important;
  color: green;
}

.dropdown-content a {
  color: black !important;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: transparent;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.dropdown:hover .dropbtn {
  background-color: transparent;
}

.swing-control,
.volume-controls {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.volume-controls label,
.volume-controls input {
  display: block;
  width: 100%;
}

.bpm-label {
  display: flex;
  align-items: center;
  font-size: 12px !important;
  height: 40px;
  margin-right: 5px;
}

#play {
  display: none;
}

#loadButton {
  background-color: green;
  color: #000000;
}

#exportButton, #clearButton, #exportSamples14to25Button {
  background-color: black;
  border: 2px solid green;
  color: green;
  align-items: center;
}

#play, #pause, #stop {
  background-color: black;

  color: yellowgreen;
  align-items: center;
}

#pause {
  display: none;
}

#stop {
  display: none;
}

.drum-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  overflow: auto;
  max-height: 80vh;
}

.drum-row {
  display: flex;
  align-items: center;
  gap: 5px;
}

.drum-row span {
  width: 100px;
  text-align: left;
  margin-bottom: 0;
}

.steps {
  display: flex;
  gap: 5px;
}

.grid-cell {
  background-color: #000000;
  border: 5px solid green;
  width: 40px;
  height: 40px;
  cursor: pointer;
  opacity: 0.7;
}

.grid-cell.active {
  opacity: 0.9;
  background-color: green;
}

.grid-cell.muted-active {
  background-color: blue;
}

@media (max-width: 600px) {
  body {
     display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden !important;
      max-width: 100vw;
      touch-action: none !important;
      zoom: 0.70;
  }
  .menu-icon {
		cursor: pointer;
		font-size: 48px;
  }
  
  .script-row {
  display: flex;
  align-items: center;
  gap: 5px;
}

.script-row span {
  width: 100px;
  text-align: left;
  margin-bottom: 0;
  color: green;
}

.script-row {
  display: flex;
  gap: 5px;
}

.textbox {
  width: 40px;
  height: 40px;
  text-align: center;
  background-color: #000000;
  border: 2px solid green;
  color: green;
  border-radius: 5px;
  font-size: 14px;
  margin: 0 2px;
}

.textbox:focus {
  outline: none;
  border-color: yellowgreen;
}


  
  .credits {
    display: block;
    color: blue;
  }
  
  .gap-between {
    display: none;
  }
  
  .divider {
    width: 10px; /* Pas de breedte aan naar wens */
    text-align: center;
    margin: 0 2px; /* Ruimte tussen de stappen en de divider */
    /*margin: 3px 0;*/
}

  .container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 100%;
  }
  
  header {
  display: none;
  }

  .step-indicators .step {
      width: 20px;
      height: 20px;
      font-size: 10px;
      line-height: 20px;
  }

  .step-indicators {
      flex-wrap: wrap;
      justify-content: center;
      max-width: 100%;
  }

  .controls button,
  .controls input {
      padding: 5px;
      font-size: 14px;
  }
  .controls button {
      line-height: 1 !important;
  }
  .grid-cell {
      width: 40px !important;
      height: 95px !important;
  }

  .mobile-menu {
      display: block;
      position: static;
      justify-content: center;
      margin-bottom: 10px;
  }

  .step.active {
      background-color: green;
  }
  .bpm-label {
      display: none;
  }
  .drum-grid {
      flex-direction: column;
      align-items: center !important;
      zoom: 0.30;
  }

  .drum-row {
      flex-direction: column;
      align-items: center !important;
      gap: 2px;
      margin-left: 15px;
      margin-right: 15px;
      width: 100% !important;
  }

  .drum-row span {
      width: auto;
      font-size: 14px;
      margin-bottom: -2px;
  }

  .mobile-menu span {
      width: auto;
      justify-content: center;
      font-size: 14px;
      margin-bottom: 5px;
  }

  .dropdown-content {
    display: block;
    position: fixed;
    right: 0;
    margin-right: 45px;
    bottom: 50px;
    /*background: rgba(74, 74, 74, 0.24);
    backdrop-filter: blur(10px);*/
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    background-color: black;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    min-width: 200px;
    max-width: 200px;
    min-height: 500px;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden !important;
    color: green;
}

  .steps {
      display: flex;
      flex-direction: row;
      gap: 5px;
  }

  h1 {
      font-size: 12px;
  }
  
  h2 {
      font-size: 14px;
  }
  
  h3 {
      font-size: 8px;
  }
  
  .recordButton {
    display: none;
  }
}