* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    width: 100%;
}

body {
    background: black;
    padding: 40px;

    display: flex;
    justify-content: center;
    align-items: center;
}

#heading {
    color: white;
    font-weight: 100;
    font-size: 80px;
    font-family: Arial;

    position: absolute;
    top: 5%;
}

#heading span {
    color: cornflowerblue;
    font-weight: 900;
}

#setOfKeys {

    border-radius: 20px;
    height: 60%;
    width: 90%;
    background: rgb(59, 59, 59);

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 30px;

}

.keys {
    width: 6%;
    height: 100%;
    background: white;
    border-radius: 20px;

    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.keys h1 {
    font-size: 40px;
    font-weight: 900;
}

.keys:nth-child(2n) {
    background: black;
    color: white;
}

.keys:active {
    transform: scale(0.95);
    box-shadow: 20px 20px 20px white;
}

.keys:hover {
    cursor: pointer;
    transform: translateY(-5px);
}

/* MOBILE LAYOUT */

@media (max-width:768px){

    #setOfKeys{
        flex-wrap:wrap;
        justify-content:center;
        gap:10px;
        height:auto;
    }

    /* hide second octave */
    #setOfKeys .keys:nth-child(n+8){
        display:none;
    }

    /* make keys square-ish */
    .keys{
        width:22%;
        height:120px;
    }

    /* move last 3 keys to center row */
    #setOfKeys .keys:nth-child(5),
    #setOfKeys .keys:nth-child(6),
    #setOfKeys .keys:nth-child(7){
        margin-top:10px;
    }

    #heading{
        font-size:40px;
        top:3%;
        text-align:center;
    }

}