.no-select {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  -khtml-user-select: none;
  user-select: none;
}
body {
    margin:0;
    font-size: 14px;
    font-family: Verdana;
    color:#fff;
    background: linear-gradient(rgba(20, 55, 35, 0.85), rgba(5, 20, 12, 0.85)), url('/images/harpbc.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.gr {
    color: #aaa;
}
.grhol {
    background-color: #eee;
}
#close {
    position: absolute;
    top: 7px;
    right:7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background-color: #fff;
    color: #000;
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    z-index: 999;
}
#close:hover {
    background-color: LightCoral;
}
#main {
    width: 60vw;
    min-height: 100vh;
    margin: 60px auto 0;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    animation: expand 0.8s ease-out forwards; 
    transform-origin: center; 
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
#main0 {
    width: 60vw;
    min-height: 100vh;
    margin: 60px auto 0;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
@keyframes expand {
    0% {
        transform: scaleX(0) scaleY(0); 
        opacity: 0;
    }
    100% {
        transform: scaleX(1) scaleY(1);
        opacity: 1;
    }
}
#main2 {
    display: flex;
    flex-direction: row;
    align-items: center;
}
#lft, #cnt, #rgt {
    display: flex;
    flex-direction: column;
}
#ovbgroup, #ofbgroup, #sgroup {
    display: flex;
    flex-direction: column;
    overflow-x: auto;
}
#ovbgroup {
    padding-bottom: 50px;
}
#cnt {
    margin: 0 60px;
}
#tab0 {
    margin:0 auto;
    display: flex;
    flex-direction: column;
}
.nobends {
    background-color: #C3FFFBD9;
}
.nobends:hover, .nbhover {
    background-color: #82BFBB;
}
.bends {
    background-color: #FFEAC3D9;
}
.bends:hover {
    background-color: #BFAA82;
}
.overbends {
    background-color: #FFC3C6D9;
}
.overbends:hover {
    background-color: #BF8285;
}
.gam {
    background-color: #D0DBC4D9;
}
.gam:hover {
    background-color: #828A7A;
}
.gamton {
    background-color: #D8BFD8D9;
}
.gamton:hover {
    background-color: #8A7A8A;
}
.gamdom {
    background-color: #D8BF71D9;
}
.gamdom:hover {
    background-color: #8A7947;
}
.gamsub {
    background-color: #ADD8E6D9;
}
.gamsub:hover {
    background-color: #6C8A93;
}
.bl {
    color: #fff;
    background-color: #000;
}
#keys, #songkeys, #positions {
    min-width: 500px;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-bottom:10px;
    overflow-x: auto;
}
#songkeys {
    margin-top: 20px;
}
.key, .skey, .pos {
    flex: 1;
    display: block;
    padding: 1px;
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
}
.key a, .skey a, .pos a, .type a, .scale a, .ovb a, .ofb a, .ofbg a {
    display: block;
    padding: 7px;
    text-decoration: none;
    color: #fff;
    border-radius: 15px;
    cursor: pointer;
    white-space: nowrap;
}
.key a:hover, .skey a:hover, .pos a:hover, .type a:hover, .scale a:hover, .ovb a:hover, .ofb a:hover, .poshover, .skeyhover {
    background-color: SkyBlue;
}
.key a:active, .skey a:active, .pos a:active, .type a:active, .scale a:active, .ovb a:active, .ofb a:active, .keyactive, .skeyactive, .posactive, .typeactive, .scaleactive, .ovbactive, .ofbactive {
    background-color: LightCoral;
}
.type, .scale, .ovb, .ofb, .ofbg{
    display: block;
    padding: 1px;
    font-size: 14px;
}
.ofb {
    white-space: nowrap;
}
.ofbg a {
    display: block;
    padding: 7px;
    text-decoration: none;
    border-radius: 15px;
    cursor: pointer;
    color: #52514f; 
}
#harp {

}
#harp a {
    display: block;
    border: 1px solid #fff;
    width: 50px;
    height: 50px;
    line-height:50px;
    cursor: pointer;
    text-align: center;
    color: #000;
    text-decoration: none;
    font-size: 16px;
}
.blow, .draw, #numb {
    display: flex;
}
.note {
    padding-top:20px;
    font-size: 10px;
    color: #aaa;
}
#numb div {
    display: block;
    border: 1px solid #fff;
    width: 50px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    color: #FFF;
    background-color: #000;
    font-size: 16px;
}
.emptydiv {
    width: 52px;
    height: 52px;
    display: block;
}
@media screen and (max-width: 480px) {
    #close {
        display: none;
    }
    #main, #main0 {
        display: block;
        min-width: 100vw;
        min-height: 100vh;
        margin: 60px auto 0;
        padding: 2px;
        box-shadow: 0 0 20px rgba(0,0,0,0.2);
    }
    #main2 {
        display: block;
        flex-direction: column;
        align-items: center;
        overflow-x: auto;
    }
    #lft {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
    }
    #cnt {
        display: flex;
        flex-direction: column;
        margin: 0;
        overflow-x: auto;
    }
    #keys, #harp {
        min-width: initial;
        overflow-x: auto;
    }
    #ovbgroup, #ofbgroup, #sgroup {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
    }
    #ovbgroup {
        padding: 10px 0;
    }
}
@media screen and (max-height: 480px) and (orientation: landscape) {
    #close {
        display: none;
    }
    #main, #main0 {
        display: block;
        min-width: 100vw;
        min-height: 100vh;
        margin: 60px auto 0;
        padding: 2px;
        box-shadow: 0 0 20px rgba(0,0,0,0.2);
    }
    #main2 {
        display: block;
        flex-direction: column;
        align-items: center;
        overflow-x: auto;
    }
    #lft {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
    }
    #cnt {
        display: flex;
        flex-direction: column;
        margin: 0;
        overflow-x: auto;
    }
    #keys, #harp {
        min-width: initial;
        overflow-x: auto;
    }
    #ovbgroup, #ofbgroup, #sgroup {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
    }
    #ovbgroup {
        padding: 10px 0;
    }
}