body{
  background:#bababa;
  padding:0;
  margin:0;
  overflow:hidden;
  width:100%;
  height:100%;
  position:fixed;
}
#generatorInput{
  background:#000;
  border:#fff solid 1px;
  margin-left:10px;
  margin-top:10px
}
canvas{
  padding:0;
  margin:auto;
  display:block;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  z-index:-1;
  max-width:100%;
  max-height:100%;
  width:100% !important;
  height:100% !important;
}
.collapsible{
  background-image:linear-gradient(180deg,#000,#000,#383838,#f1f1f1);
  cursor:pointer;
  padding-top:5px;
  width:200px;
  text-align:left;
  font-size:15px;
  border:0
}
.active,.collapsible:hover{
  background-color:#000
}
.content{
  display:none;
  overflow:hidden;
  background-color:#f1f1f1
}
.contentChecks{
  overflow:hidden;
  background-color:#f1f1f1;
  display:flex;
  flex-direction:column;

  padding-top:5px;
}
.checksColumn{
  display:flex;
  flex-direction:column;

  padding-bottom:10px;
}
.checksColumnSet{
  display:flex;
  flex-direction:row
}
.listItem{
  width:100px;
  display:flex;
  flex-direction:row;
  background-color:#f1f1f1
}
.listItemFull{
  padding-top:5px;
  display:flex;
  flex-direction:row;
  background-color:#f1f1f1
}
.listItemFull label{
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  font-weight:500;
  padding-bottom:2px;
  padding-left:3px
}
.collapsible:after{
  margin-top:-25px;
  content:'\2193';
  font-size:13px;
  color:#fff;
  float:right
}
.active:after{
  content:"\2190"
}
input[type=text]{
  width:120px;
  margin:5px
}
input[type=range]{
  margin-top:0;
  width:120px
}
#generatorInput{
  position:absolute;
  display:flex;
  flex-direction:column
}
textarea{
  text-align:center;
  width:190px;
  margin:5px 5px 2px 5px;
  padding:0
}
h1{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;
  color:#fff;
  font-size:14px;
  margin-bottom:5px;
  margin-top:0
}
h2{
  font-family:'IBM Plex Mono',monospace;
  font-size:18px;
  font-weight:500;
  text-align:center;
  color:#fff;
  margin:5px;
  text-transform:uppercase
}
h3{
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  font-weight:500;
  /* padding-left:5px; */
  margin:0
}
.titleh2{
  background-color:#000
}
.module p{
  font-family:'IBM Plex Mono',monospace;
  font-weight:200;
  font-style:italic;
  color:#00f;
  font-size:10px;
  margin-bottom:0;
  margin-top:0
}
.textureEdit{
  margin:5px 0 5px 0;
}
select{
  width:190px;
  margin:5px
}
input[type=color]{
  border:1px solid #000;
  outline:0;
  margin:0;
  padding:0;
  width:95px;
  height:20px
}
input[type=color]::-webkit-color-swatch-wrapper{
  padding:0
}
input[type=color]::-webkit-color-swatch{
  border:none
}
.module2{
  padding-bottom:10px;
  width:130px
}
p{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:500;
  color:#fff;
  text-align:center;
  margin-top:2px
}
a{
  color:#fff;
  font-weight:500;
  text-decoration:underline
}
button{
  width:200px
}
input[type=radio]{
  margin-left:0px;
}
.radioOption{
  width:95px;
}
.radioOption label {
  margin-left:-2px;
}
#textModeUI {
  display:block;
}
#textModeUI2 {
  display:flex;
  flex-direction:row;
}
.couplingRadio{
  display:flex;
  flex-direction:row;
  padding-top:5px;
  margin-left:5px
}
.coupling1{
  display:flex;
  flex-direction:row;
  padding-top:8px;
  margin-left:5px
}
.coupling2{
  display:flex;
  flex-direction:column;
  padding-top:10px;
  padding-bottom:10px;
  padding-left:5px;
}
label{
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  font-weight:500;
  margin-top:2px
}
div.coupling_label{
  padding-right:10px;
  width:50px
}
div.module{
  margin-bottom:10px
}
#recStatus{
  display:none;
  margin-top:-5px;
  padding-top:7px;
  padding-bottom:1px;
  background-color:red
}
#widget{
  display:none
}
.switch{
  position:absolute;
  bottom:0;
  left:50%;
  transform:translate(-50%,0);
  display:inline-block;
  width:38px;
  height:20px
}
.switch input{
  opacity:0;
  width:0;
  height:0
}
.slider{
  position:absolute;
  cursor:pointer;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color:#ccc;
  -webkit-transition:.4s;
  transition:.4s
}
.slider:before{
  position:absolute;
  content:"";
  height:16px;
  width:16px;
  left:2px;
  bottom:2px;
  background-color:#fff;
  -webkit-transition:.4s;
  transition:.4s
}
input:checked+.slider{
  background-color:#2196f3
}
input:focus+.slider{
  box-shadow:0 0 1px #2196f3
}
input:checked+.slider:before{
  -webkit-transform:translateX(18px);
  -ms-transform:translateX(18px);
  transform:translateX(18px)
}
.slider.round{
  border-radius:20px
}
.slider.round:before{
  border-radius:50%
}
.popup{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:500;
  margin-top:-5px;
  padding-bottom:5px;
  color:#fff;
  text-align:center;
  text-decoration:underline;
  position:relative;
  cursor:pointer
}
.popup .popuptext{
  visibility:hidden;
  width:160px;
  background-color:#fff;
  color:#000;
  text-align:left;
  border-radius:6px;
  padding:8px 5px;
  position:absolute;
  z-index:1;
  top:100%;
  left:50%;
  margin-left:-80px;
  border:#000 solid 1px
}
.popup .show{
  visibility:visible;
  -webkit-animation:fadeIn 1s;
  animation:fadeIn 1s
}
@-webkit-keyframes fadeIn{
  from{
      opacity:0
  }
  to{
      opacity:1
  }
}
@keyframes fadeIn{
  from{
      opacity:0
  }
  to{
      opacity:1
  }
}
.popuptext a{
  color:#00f
}

button.dropbtn {
  width:90px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 100;
  text-align: center;
  color: #000;
  background-color: #FFF;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: fixed;
  top:0;
  right:0;
  padding-right:20px;
  padding-top:10px;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 90px;
  z-index: 1;
}

/* Links inside the dropdown */
.dropdown-content a {
  font-family:'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 100;
  text-align: center;
  color: black;
  text-decoration: none;
  display: block;
  padding-top:5px;
  padding-bottom:5px;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #ddd;}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {display: block;}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
  background-color: #0000ff;
  color: #ffffff;
}

/* CTA Button */
.cta-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #000000;
  color: #ffffff;
  padding: 15px 30px;
  text-decoration: none;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  border: 2px solid #ffffff;
  border-radius: 0;
  z-index: 1000;
  transition: background-color 0.3s ease, color 0.3s ease;
  display: inline-block;
}

.cta-button:hover {
  background-color: #ffffff;
  color: #000000;
}

/* Responsive styles for CTA button */
@media (max-width: 768px) {
  .cta-button {
    bottom: 15px;
    right: 15px;
    padding: 12px 24px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .cta-button {
    bottom: 10px;
    right: 10px;
    padding: 10px 20px;
    font-size: 12px;
  }
}