.button {
    -moz-box-shadow:inset 0px 1px 0px 0px #cf866c;
    -webkit-box-shadow:inset 0px 1px 0px 0px #cf866c;
    box-shadow:inset 0px 1px 0px 0px #cf866c;
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ad2f0c), color-stop(1, #bc3315));
    background:-moz-linear-gradient(top, #ad2f0c 5%, #bc3315 100%);
    background:-webkit-linear-gradient(top, #ad2f0c 5%, #bc3315 100%);
    background:-o-linear-gradient(top, #ad2f0c 5%, #bc3315 100%);
    background:-ms-linear-gradient(top, #ad2f0c 5%, #bc3315 100%);
    background:linear-gradient(to bottom, #ad2f0c 5%, #bc3315 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ad2f0c', endColorstr='#bc3315',GradientType=0);
    background-color:#ad2f0c;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;
    border:1px solid #942911;
    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:13px;
    padding:6px 24px;
    text-decoration:none;
    text-shadow:0px 1px 0px #854629;
}
.button:hover {
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #bc3315), color-stop(1, #ad2f0c));
    background:-moz-linear-gradient(top, #bc3315 5%, #ad2f0c 100%);
    background:-webkit-linear-gradient(top, #bc3315 5%, #ad2f0c 100%);
    background:-o-linear-gradient(top, #bc3315 5%, #ad2f0c 100%);
    background:-ms-linear-gradient(top, #bc3315 5%, #ad2f0c 100%);
    background:linear-gradient(to bottom, #bc3315 5%, #ad2f0c 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bc3315', endColorstr='#ad2f0c',GradientType=0);
    background-color:#bc3315;
}
.button:active {
    position:relative;
    top:1px;
}

.piano {
    position: absolute;
    width: 620px;
    background: black; 
    /*linear-gradient(-65deg, #000000, #222222, #000000, #666666, #222222 75%);*/
    border-top: 2px solid #111;
    box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.5), inset 0 -4px 5px #000000;
    padding: 0 1% 3%;
    text-align: center;
}

.piano .key {
    display: inline-block;
    position: relative;
    margin: 0 1px 0 0;
    /*width: 6%;*/
    /*max-width: 35px;*/
    width: 35px;
    overflow: hidden;
}
.piano .key:active .black-key,
.piano .key.active .black-key {
    top: -5px;
}
.piano .key .white-key {
    background: -webkit-linear-gradient(-30deg, #f8f8f8, #ffffff);
    background: -moz-linear-gradient(-30deg, #f8f8f8, #ffffff);
    background: -o-linear-gradient(-30deg, #f8f8f8, #ffffff);
    background: linear-gradient(-30deg, #f8f8f8, #ffffff);
    box-shadow: inset 0 1px 0px #ffffff, inset 0 -1px 0px #ffffff, inset 1px 0px 0px #ffffff, inset -1px 0px 0px #ffffff, 0 4px 3px rgba(0, 0, 0, 0.7), inset 0 -1px 0px #ffffff, inset 1px 0px 0px #ffffff, inset -1px -1px 15px rgba(0, 0, 0, 0.5), -3px 4px 6px rgba(0, 0, 0, 0.5);
    display: block;
    height: 200px;
    overflow: visible;
}
.piano .key .white-key:active,
.piano .key .white-key.active {
    box-shadow: inset 0 1px 0px #ffffff, inset 0 -1px 0px #ffffff, inset 1px 0px 0px #ffffff, inset -1px 0px 0px #ffffff, 0 4px 3px rgba(0, 0, 0, 0.7), inset 0 -1px 0px #ffffff, inset 1px 0px 0px #ffffff, inset -1px -1px 15px #000000, -3px 4px 6px rgba(0, 0, 0, 0.5);
    position: relative;
    top: -5px;
    height: 195px;
}
.piano .key .black-key {
    content: "";
    box-shadow: inset 0px -1px 2px rgba(255, 255, 255, 0.4), 0 2px 3px rgba(0, 0, 0, 0.4);
    background: -webkit-linear-gradient(-20deg, #222222, #000000, #222222);
    background: -moz-linear-gradient(-20deg, #222222, #000000, #222222);
    background: -o-linear-gradient(-20deg, #222222, #000000, #222222);
    background: linear-gradient(-20deg, #222222, #000000, #222222);
    border-width: 1px 3px 8px;
    border-style: solid;
    border-color: #666 #222 #111 #555;
    height: 108px;
    position: absolute;
    top: 0px;
    right: -18px;
    width: 70%;
    z-index: 10;
    overflow: visible;
}
.piano .key .black-key:active,
.piano .key .black-key.active {
    border-bottom-width: 3px;
    top: 0;
}

