input {
    display: none;
}

label {
    display: block;
    box-sizing: border-box;
    width: 100%;
    color: black;
    font-weight: bold;
    background-color: #ff8200;
    margin: 0.5vmin 0 0.5vmin 0;
    border: solid #B85E00 0.4vmin;
    border-radius: 0.8vmin;
    padding: 0.5vmin 2vmin;
    font-size: 3.5vmin;
    text-align: left;
}

label img {
    height: 5vmin;
    vertical-align: middle;
}

input:hover + label, input:checked + label {
    background-color: #D83602;
}

form {
    display: table;
    margin: auto;
}

#from, #to {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
}

#transpose {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

#from, #to {
    width: 30vmin;
}

#from p, #to p {
    font-weight: bold;
}

#transpose-numeric, #transpose-keyboard {
    width: 40vmin;
    font-size: 15vmin;
    margin: 0;
    padding: 0;
}
