.launchpad {
    position: relative;
    width: 400px;
    height: 400px;
    background: url('../images/launchpad.png') no-repeat top left;
}

.keys_top {
    position: absolute;
    top: 32px;
    left: 29px;
    width: 320px;
    height: 26px;
}

.keys_main {
    position: absolute;
    top: 66px;
    left: 25px;
    width: 320px;
    height: 320px;
}

.keys_side {
    position: absolute;
    top: 70px;
    left: 340px;
    width: 26px;
    height: 320px;
}

.key {
    border-radius: 3px;
    height: 32px;
    width: 32px;
    cursor: pointer;
    float: left;
    margin: 0 5px 5px 0;
    border: 1px solid;
}

.key.round {
    height: 24px;
    width: 24px;
    border-radius: 20px;
    margin: 0 13px 13px 0;
}

.key div {
    position: relative;
    top: 8px;
    width: 100%;
    text-align: center;
}

.key div span {
    display: inline-block;
    -webkit-user-select: none;
}

.key div img {
    height: 14px;
    float: left;
    margin: 1px;
}

.key.round div {
    top: 3px;
}

.key.round div img {
    height: 10px;
}

.key div.shift_up {
    top: 0;
}

.key.round div.shift_up {
    padding: 2px
}

.key.round div.shift_up img {
    height: 8px;
}

.key.OFF {
    background: #7D8386;
    border-color: #7D8386;
}

.key.LOW_RED {
    background: radial-gradient(#D62C20, #613C3A);
    border-color: #5F2926;
}

.key.RED {
    background: radial-gradient(#FF1000, #613531);
    border-color: #69302D;
}

.key.LOW_AMBER {
    background: radial-gradient(#E2AC14, #564B2D);
    border-color: #4E4428;
}

.key.AMBER {
    background: radial-gradient(#FFBC00, #8A6C19);
    border-color: #5D4C21;
}

.key.LOW_GREEN {
    background: radial-gradient(#7EC135, #39422F);
    border-color: #4C5048;
}

.key.GREEN {
    background: radial-gradient(#85FF00, #61942A);
    border-color: #466327;
}

.launchpad .center_void {
    position: absolute;
    top: 144px;
    left: 144px;
    height: 19px;
    width: 19px;
    border-radius: 10px;
    background: #18191A;
    z-index: 50;
}

.midi_connected {
    position: absolute;
    height: 32px;
    width: 32px;
    top: 20px;
    right: 22px;
    background: url('../images/icon-grey.png') no-repeat top left;
    background-size: 32px 32px;
}

.midi_connected.connected {
    background: url('../images/icon.png') no-repeat top left;
    background-size: 32px 32px;
}

.launchpad .center {
    position: absolute;
    top: 143px;
    left: 143px;
    width: 21px;
    height: 21px;
    border-radius: 11px;
}

.c4-3 {
    -webkit-clip-path: url(#c4-3);
}

.c4-4 {
    -webkit-clip-path: url(#c4-4);
}

.c3-3 {
    -webkit-clip-path: url(#c3-3);
}

.c3-4 {
    -webkit-clip-path: url(#c3-4);
}

.key.editing {
    border-color: #ff00ef;
}

.key.pressed {
    border-color: #54f5ff;
}

.center.editing {
    background: #ff00ef;
}

.center.pressed {
    background: #54f5ff;
}

.below_launchpad {
    position: absolute;
    bottom: 20px;
}
