body, html {
    height: 100%;
    margin: 0;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
}

@media screen and (max-width: 800px){
    /*To prevent keys to from becoming too small when resize screen */
    .keyboard-key, .keyboard-key-edit {
        height: 60px;
        width: 60px;
    }
}

button {
    cursor: pointer;
}

/* Navigation Bar */
nav {
    background-color: rgb(231, 231, 231);
    opacity: 0.7;
}

#logo {
    color: grey;
    font-size: large;
}

nav button {
    padding-left: 10px;
    padding-right: 10px;
    border: none;
    background: none;
    color: grey;
}

.active-btn-pink {
    color: lightpink;
}

.active-btn-blue {
    color: lightskyblue;
}

.active-btn-green {
    color: lightgreen;
}

/* End Navigation Bar */

/* Settings */
.theme-btn {
    border: none;
    background: none;
    padding: 0;
}

.border-shadow img:hover {
    box-shadow: 0 0 6px grey;
}

.border-shadow img {
    width: inherit;
    transition: box-shadow .3s;
    -webkit-transition: box-shadow .3s; /* Safari */
}

/* End Settings */

#container {
    width: 100%;
    height: 100%;
    background-color: white;
    position: absolute;
    margin: 0 auto;
    min-width:1000px;
}

canvas {
    width: inherit;
    height: inherit;
    position: absolute;
    z-index: 1
}

.components-container {
    width: inherit;
    height: inherit;
    margin: 0 auto;
    padding: 70px 0 0;
    z-index: 2;
}

#info-popover {
    display: none;
    width: 200px;
}

.info-title{
    text-align: center;
}

#settings-popover {
    display: none;
    width: 200px;
}

#keyboard-audio-visual {
    width: inherit;
    height: 100%;
    z-index: 2;
}

/* Keyboard */
#keyboard {
    height: 60%;
}

.keyboard-row {
    margin: 10px auto;
    height: 30%;
}

.keyboard-row-edit {
    /*margin: 8px auto;*/
    margin-top: 6px;
    height: 20%;
}

.keyboard-key {
    opacity: 0.6;
    /*border: 1px solid black;*/
    border-radius: 25px;
    color: black;
    padding-top: 10px;
    padding-left: 10px;
    width: 33%
}

.keyboard-key:hover {
    opacity: 1;
    cursor: pointer;
}

.keyboard-key:active {
    opacity: 1;
}

.keyboard-key h6 {
    margin: 0;
}

.keyboard-key p {
    text-align: center;
    background-color: transparent;
    margin-bottom: 5px;
}

.keyboard-key-edit {
    opacity: 0.7;
    /*border: 1px solid black;*/
    border-radius: 15px;
    color: black;
    padding-left: 3px;
    padding-right: 3px;
    cursor: pointer;
}

.keyboard-key-edit h6 {
    padding-left: 5px;
    padding-top: 5px;
    margin-bottom: 2px;
}

.keyboard-key-edit p {
    font-size: xx-small;
    text-align: center;
    background-color: papayawhip;
}

.keyboard-key-edit p:hover {
    cursor: -webkit-grab;
    cursor: -moz-grab;
    cursor: grab;
    background-color: darksalmon;
}

.keyboard-key-edit p:active {
    /*cursor: -webkit-grabbing;*/
    /*cursor: -moz-grabbing;*/
    /*cursor: grabbing;*/
    /*background-color: red;*/
}

.keyboard-key-edit:hover {
    border: 3px solid red;
    opacity: 1;
    /*background-color: #70a945;*/
    transition: border 0.1s ease;
    transition: opacity 0.1s ease;
}

.keyboard-key:hover .keyboard-key-edit {
    margin: -3px;
}

.row1 {
    background-color: #62C9D3;
}

.row2 {
    background-color: #82CDDE;
}

.row3 {
    background-color: #A2D8E7;
}

.row4 {
    background-color: #C5E4F1;
}

.row5 {
    background-color: #E6F4FD;
}

.row5 h6 {
    visibility: hidden;
}

#keyboard div {
    word-wrap: break-word;
    overflow-y: hidden;
    font-size: xx-small;
}

.ldBar-obj {
    width: 50%;
    margin: 0 auto;
}

.trash-container {
    opacity: 0.8;
    width: 33%;
}

.trash-container i {
    padding: 15px;
}

/* End Keyboard */

/* File Directory */
#file-directory {
    background-color: #F7D5D6;
    border-radius: 15px 15px 0 0;
    padding-top: 10px;
    height: inherit;
}

#file-directory p,
#file-directory i,
#file-directory h5,
#file-directory span {
    color: #943737;
}

#drop-zone {
    position: absolute;
    bottom: 0;
    float: left;
    width: 85%;
    padding-top: 15px;
    margin-bottom: 15px;
    background-color: #FFE2E3;
    border: 1px solid #F7A7B3;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
}

#drop-zone p {
    font-size: 12px;
    width: 100%;
    padding-left:5px;
    padding-right:5px;
}

#new-folder {
    float: right;
    background-color: #FFE2E3;
    border: 1px solid #F7A7B3;
    border-radius: 10px;
    padding: 0 10px;
    cursor: pointer;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: auto;
    overflow: visible;
}

li {
    display: inline-block;
    clear: left;
    border-radius: 15px;
    width: 100%;
    align-content: center;
    position: relative;
    padding: 0;
    cursor: pointer;
}

li.selected {
    background-color: #F7A7B3;
    width: 100%;
    height:25px;
}

li.sound-file {
    height: 25px;
}

#search {
    border-radius: 50px;
    width: 90%;
}

.tg-inputwithicon {
    position: relative;
}

.search-form .tg-inputwithicon i {
    position: absolute;
    right: 30px;
    line-height: 35px;
}

.folder.tg-inputwithicon i {
    position: absolute;
    left: 15px;
    line-height: 27px;
}

p.foldername {
    padding-left: 40px;
    margin-bottom: 0px;
}

.sound-file.tg-inputwithicon i {
    position: absolute;
    line-height: 27px;
    padding-left: 30px;
}

p.soundname {
    position: relative;
    padding-left: 70px;
}

.sound-file p {
    cursor: -webkit-grab;
    cursor: -moz-grab;
    cursor: grab;
}

.scrollbar {
    float: left;
    height: 300px;
    width: 100%;
    overflow-y: auto;
    margin-bottom: 30px;
    /* margin-bottom: 25px; */
}

.scrollbar-primary::-webkit-scrollbar {
    width: 12px;
    background-color: #F7A7B3; 
    border-radius: 10px; 
}

.scrollbar-primary::-webkit-scrollbar-track {
    background-color: #FFE2E3;
    border-radius: 10px; 
}

.scrollbar-primary::-webkit-scrollbar-thumb {
    width: 12px;
    background-color: #F7A7B3; 
    border-radius: 10px;
}

/* End File Directory */

#customization-container {
    margin-top: 10px;
    height: 48%;
}

#audio, #visuals {
    background-color: #D6EACC;
    border: 1px solid forestgreen;
    border-radius: 10px;
}

/*Audio*/

#audio {
    color: #70a945;
}

.audio-settings {
    text-align: left;
    float: left;
    width: 50%;
}

.volume-slider {
    margin-left: 30px;
}

/* waveform */
.waveform-display {
    background-color: #eaf3db;
    border: 2px solid #aed792;
    height: 70px;
}

.justify-vertical .col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100px;
  align-items: center;
}

.control-buttons {
    background-color: #eaf3db;
    color: black;
    text-align: center;
    text-decoration: none;
    border: 2px solid #aed792;
    display: inline-block;
    font-size: 20px;

    width: 35px;
    height: 35px;
}

.no-button-display {
    background-color: transparent;
    border: none;
    padding: 0;
    font-size: 36px;
    /*margin:;*/
}

#audio-track {
    color: black;
}

/* settings */

.margin-10 {
    margin-right: 10px;
}

.margin-36 {
    margin-right: 36px;
}

.margin {
    margin-right: 55px;
}


.form-inline > * {
    margin: 5px 0px !important;
}

/* dropdown */
.styled-select select {
   background: transparent;
   border: 3px solid #aed792;
}

.styled-select {
    background-color: #eaf3db;
    color: #70a945;
}

/* quantization amount slider */
.quantization-amount-value {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    padding: 44px 0 0 120px;

    color: #548929;
}

/* src: https://codepen.io/noahblon/pen/OyajvN */
.amount-slider input[type="range"] { 
    margin: auto;
    -webkit-appearance: none;
    position: relative;
    overflow: hidden;
    height: 25px;
    width: 60px;
    cursor: pointer;
    border-radius: 0;
    border: 3px solid #aed792;
    background-color: #eaf3db;
}

.amount-slider::-webkit-slider-runnable-track {
    background: #eaf3db;
}

.amount-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 0px;
    height: 0px;
    background: #70a943;
    box-shadow: -100vw 0 0 100vw #70a943;
}

.amount-slider::-moz-range-track {
    height: 40px;
    background: #eaf3db;
}

.amount-slider::-moz-range-thumb {
    background: #70a943;
    height: 0px;
    width: 0px;
    border-radius: 0 !important;
    box-shadow: -100vw 0 0 100vw #70a943;
    box-sizing: border-box;
}

.amount-slider::-ms-fill-lower { 
    background: #70a943;
}

.amount-slider::-ms-thumb { 
    background: #70a943;
    height: 0px;
    width: 0px;
    box-sizing: border-box;
}

.amount-slider::-ms-ticks-after { 
    display: none; 
}

.amount-slider::-ms-ticks-before { 
    display: none; 
}

.amount-slider::-ms-track { 
    background: #eaf3db;
    color: transparent;
    height: 40px;
    border: none;
}

.amount-slider::-ms-tooltip { 
    display: none;
}

/* loop toggle */
/* src: https://www.designlabthemes.com/css-toggle-switch/ */
.checkbox-switch {
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    position: relative;
    text-align: left;
    width: 60px;
    height: 25px;
    -webkit-border-radius: 30px;
    border-radius: 30px;
    line-height: 1.2;
    font-size: 14px;
}

.checkbox-switch input.input-checkbox {
    position: absolute;
    left: 0;
    top: 0;
    width: 60px;
    height: 25px;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 2;
    cursor: pointer;
}

.checkbox-switch .checkbox-animate {
    position: relative;
    width: 60px;
    height: 25px;
    background-color: #95a5a6;
    -webkit-transition: background 0.25s ease-out 0s;
    transition: background 0.25s ease-out 0s;
}

.checkbox-switch .checkbox-animate:before {
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    background-color: #7f8c8d;
    top: 5px;
    left: 5px;
     -webkit-transition: left 0.3s ease-out 0s;
    transition: left 0.3s ease-out 0s;
    z-index: 10;
}

.checkbox-switch input.input-checkbox:checked + .checkbox-animate {
    background-color: #70a943;
}

.checkbox-switch input.input-checkbox:checked + .checkbox-animate:before {
    left: 40px;
    background-color: #548929;
}

.checkbox-switch .checkbox-off,
.checkbox-switch .checkbox-on {
    float: left;
    color: #eaf3db;
    font-weight: 700;
    padding-top: 3px;
     -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.checkbox-switch .checkbox-off {
    margin-left: 30px;
    opacity: 1;
}

.checkbox-switch .checkbox-on {
    display: none;
    float: right;
    margin-right: 30px;
    opacity: 0;
}

.checkbox-switch input.input-checkbox:checked + .checkbox-animate .checkbox-off {
    display: none;
    opacity: 0;
}

.checkbox-switch input.input-checkbox:checked + .checkbox-animate .checkbox-on {
    display: block;
    opacity: 1;
}

/* volume slider */
.volume-slider input[type="range"] { 
    margin: auto;
    -webkit-appearance: none;
    position: relative;
    overflow: hidden;
    height: 10px;
    width: 100px;
    cursor: pointer;
    border-radius: 30px;
    border: 1px solid #aed792;
    background-color: #eaf3db;
}

.volume-slider::-webkit-slider-runnable-track {
    background: #eaf3db;
}

.volume-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 10px;
    height: 10px;
    background: #70a943;
    border-radius: 50px;
    box-shadow: -100vw 0 0 99.8vw #70a943;
    border: 1px solid #eaf3db;
}

.volume-slider-disabled::-webkit-slider-thumb {
    background: #A0A0A0;
    box-shadow: -100vw 0 0 99.8vw #A0A0A0;
}

.volume-slider::-moz-range-track {
    height: 40px;
    background: #eaf3db;
}

.volume-slider::-moz-range-thumb {
    background: #70a943;
    height: 10px;
    width: 10px;
    border-radius: 50px !important;
    box-shadow: -100vw 0 0 99.8vw #70a943;
    box-sizing: border-box;
    border: 1px solid #eaf3db;
}

.volume-slider::-ms-fill-lower { 
    background: #70a943;
}

.volume-slider::-ms-thumb { 
    background: #70a943;
    height: 0px;
    width: 0px;
    box-sizing: border-box;
}

.volume-slider::-ms-ticks-after { 
    display: none; 
}

.volume-slider::-ms-ticks-before { 
    display: none; 
}

.volume-slider::-ms-track { 
    background: #eaf3db;
    color: transparent;
    height: 40px;
    border: none;
}

.volume-slider::-ms-tooltip { 
    display: none;
}

/* selected key */
#selected-key-wrapper {
    width: 29%;
}

#keyboard div #selected-key-text {
    /*width: 200px;*/
    font-size: medium;
    text-align: center;
}

#selected-key-container {
    /* flex-grow: 1; */
    background-color: #70a945;
    border-radius: 10px;
    color: #eaf3db;
    margin: auto;
    /*padding: 5px 0px 0px 10px;*/

    height: 40px;
    width: 40px;
}

#selected-key {
    text-align: center;
    vertical-align: middle;
    line-height: 200%;
}

/* End Audio */


/* Visuals */

/* dropdown */
.visual-title {
    color: #62933C;
    letter-spacing: 3px;
}

.select-form {
    background-color: #eaf3db;
    color: #70a945;
}

.select-form select {
   background: transparent;
   border: 3px solid #aed792;
}

.form-control demo{
   background: transparent;
   border: 3px solid #aed792;
   background-color: #eaf3db;
    color: #70a945;
}

.title-label {
    margin-right: 5px;
}

#visual-container-1 {
    /*border-color: darkcyan;*/
    margin-top: 10px;
}
#visual-container-2 {
    margin-top: 10px;
}
#visual-container-3 {
    margin-top: 10px;
}

#hue-demo {
    width: 120px;
    height: 30px;
    background-color: #eaf3db;
    color: #70a945;
    border: 3px solid #aed792;
}

.form-inline {
    margin-right: 10px;
}

.preview-container{
    border: 1px solid #AED792;
    width: 120px;
    height: 75px;;
}

.triangle{
    width: 0;
	height: 0;
    height: 0;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
    border-bottom: 50px solid #555;
    display:none;
    margin: auto;
}
 .circle {
    height: 50px;
    width: 50px;
    height: 50px;
    width: 50px;
    background-color: #555;
    border-radius: 50%;
    display:none;
    margin: auto;
  }

.roundedRectangle{
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    height: 50px;
    width: 100px;
    height: 40px;
    width: 80px;
    background-color: #555;
    display:none;
    margin: auto;
}
/* End Visuals */

/* Tabbing */
/*From https://bootsnipp.com/snippets/mMV9Z*/
#tab-container {
    background-color: #D6EACC;
    bottom: 0;
    right: 0;
    height: 30%;
    position: absolute;
    width: 100%;
    float: right;
}

/* #tab-container {
    margin-top: 35px;
    bottom: 0;
    position: fixed;
    width: 90%;
} */

.tabs {
    background-color: #D6EACC;
    margin: 0 auto;
}

#tab-button {
    display: table;
    table-layout: fixed;
    margin: 0;
    padding: 0;
    list-style: none;
}
#tab-button li {
    display: table-cell;
    width: 40%;
}
#tab-button li a {
    display: block;
    padding: .3em;
    background: #aed792;
    border: 1px solid #ddd;
    text-align: center;
    text-decoration: none;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
#tab-button li:not(:first-child) a {
    border-left: none;
}
#tab-button li a:hover,
#tab-button .is-active a {
    border-bottom-color: transparent;
    background: #D6EACC;
    color: #70a945;
}
.tab-contents {
    /* margin-top: 20px; */
    padding: 1.5%;
    margin: auto 0;
    border: 1px solid #ddd;
}

.tab-button-outer {
    display: none;
}

@media screen and (min-width: 768px) {
    .tab-button-outer {
        position: relative;
        z-index: 2;
        display: block;
        background-color: white;
    }
    .tab-select-outer {
        display: none;
    }
    .tab-contents {
        position: relative;
        top: -1px;
        margin-top: 0;
    }
}

.tab-icon button {
    border: none;
    background: none;
    font-size: 20px;
    color: grey;
}



/* End Tabbing */

/* TIP */
.overlay-content h2 {
    font-size: 1.3em;
    text-align: center;
    margin-bottom: 16px;
    line-height: 18px;

}

 .tip-style{
    color: #EDB323;
 }
.overlay-content.active.centered-y {
    -webkit-transform: translate(-50%,-50%) scale(1,1);
    -moz-transform: translate(-50%,-50%) scale(1,1);
    -o-transform: translate(-50%,-50%) scale(1,1);
    -ms-transform: translate(-50%,-50%) scale(1,1);
    transform: translate(-50%,-50%) scale(1,1);
}
.overlay-content.active.centered-x {
    -webkit-transform: translateX(-50%) scale(1,1);
    -moz-transform: translateX(-50%) scale(1,1);
    -o-transform: translateX(-50%) scale(1,1);
    -ms-transform: translateX(-50%) scale(1,1);
    transform: translateX(-50%) scale(1,1);
}
.overlay-content.centered-y {
    -webkit-transform: translate(-50%,-50%) scale(.2,.2);
    -moz-transform: translate(-50%,-50%) scale(.2,.2);
    -o-transform: translate(-50%,-50%) scale(.2,.2);
    -ms-transform: translate(-50%,-50%) scale(.2,.2);
    transform: translate(-50%,-50%) scale(.2,.2);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -o-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
}
.overlay-content.centered-x {
    -webkit-transform: translateX(-50%) scale(.2,.2);
    -moz-transform: translateX(-50%) scale(.2,.2);
    -o-transform: translateX(-50%) scale(.2,.2);
    -ms-transform: translateX(-50%) scale(.2,.2);
    transform: translateX(-50%) scale(.2,.2);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -o-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
}
.overlay-content.active {
    -webkit-transform: scale(1,1);
    -moz-transform: scale(1,1);
    -o-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
    opacity: 1;
    -ms-filter: none;
    filter: none;
    margin-left: 0;
    margin-right: 0 !important;

}
.overlay-content {
    z-index: 9;
    position: fixed;
    padding: 40px;
    background: #FFFFB2;
    border-style: solid;
    border-color: #EDB323;
    border-radius: 4px;
    -webkit-transform: scale(.2,.2);
    -moz-transform: scale(.2,.2);
    -o-transform: scale(.2,.2);
    -ms-transform: scale(.2,.2);
    transform: scale(.2,.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    min-width: 160px;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
 .overlay-content p.message {
    color: #70798c;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 20px;
    margin-bottom: 24px;
    padding: 0;
    text-align: center;
    text-transform: none;
}
 .button.expand {
    width: 100%;
}
.button.large {
    font-size: 10px;
    font-weight: bold;
    height: 32px;
    line-height: 30px;
    border-radius: 16px;
    padding: 0 16px;
}
.button {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    background: #FFFFB2;
    border: 1px solid #EDB323;
    border-radius: 12px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #EDB323;
    cursor: pointer;
    display: inline-block;
    font-size: 10px;
    font-weight: bold;
    height: 24px;
    letter-spacing: 1px;
    line-height: 22px;
    outline: none;
    padding: 0 12px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    -webkit-transition: -webkit-transform 0.1s ease-out, background 0.2s ease-out, border-color 0.2s ease-out;
    -moz-transition: -moz-transform 0.1s ease-out, background 0.2s ease-out, border-color 0.2s ease-out;
    -o-transition: -o-transform 0.1s ease-out, background 0.2s ease-out, border-color 0.2s ease-out;
    -ms-transition: -ms-transform 0.1s ease-out, background 0.2s ease-out, border-color 0.2s ease-out;
    transition: transform 0.1s ease-out, background 0.2s ease-out, border-color 0.2s ease-out;
    vertical-align: top;
} 

/* END TIP */