@font-face {
    font-family: bodoni;
    src: url(BodoniModa_72pt-Bold.woff2);
}

@font-face {
    font-family: inconsolata;
    src: url(Inconsolata_SemiCondensed-Light.woff2);
}
body {
    margin: 0;
    padding-top: 60px;
    background-color: darkslateblue;
    font-family: inconsolata;
    font-size: 1.4em;
    text-align: center;
    color: white;
}
.menu {
    position: fixed;
    top: 15px;
    left: 15px;
    padding: 10px;
    color: white;
}
.menu > a,
.menu > a:visited {
    color: white;
    text-decoration: underline;
}
.contact {
    position: fixed;
    top: 15px;
    right: 15px;
    padding: 10px;
    color: white;
}
.titles {
    padding: 20px;
    background-color: darkslateblue;
    color: white;
}
h1 {
    font-family: bodoni;
    margin: 0;
    font-size: 3em;
}
h6 {
    margin: 0;
    font-size: 1.4em;
}
.controls {
    padding: 20px;
}
.controls input,
.controls select {
    background-color: antiquewhite;
    border: none;
}
.grid1 {
    display: grid;
    grid-template-columns: auto auto;
}
.gridRight {
    justify-self: right;
    align-self: center;
}
.gridLeft {
    justify-self: left;
    align-self: center;
}

button,
select,
input {
    background-color: white;
    font-family: inconsolata;
    font-size: 1.4em;
    margin: 11px;
}
.mainButtons {
    font-size: 1.4em;
    border: 7px solid crimson;
    padding: 15px;
    font-weight: 700;
    width: 200px;
}
.mainButtons:hover {
    background-color: crimson;
}

.keyboard {
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
    display: block;
    padding: 20px;
    background-color: white;
    color: darkslateblue;
    width: 95%;
}

table {
    width: 100%;
    border-collapse: collapse;
}
.cont1 {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.cont2 {
    display: table-cell;
    overflow-x: auto;
    width: 105%;
}

.keyboard td {
    width: 50px;
}
.whiteKey {
    height: 100px;
    border: 2px solid black;
    background-color: antiquewhite;
}
.blackKey {
    height: 100px;
    border: 2px solid black;
    background-color: black;
}
.plus50,
.minus50,
.plus33,
.minus33,
.plusN {
    height: 30px;
    border: 2px solid black;
    cursor: default;
    background-color: antiquewhite;
    text-align: center;
    vertical-align: middle;
}
.plusNInput {
    height: 28px;
    background-color: transparent;
    width: 10px;
    font-size: 0.5em;
    margin: 0;
    border: none;
}

/* Chrome, Safari, Edge, Opera */
.plusNInput::-webkit-outer-spin-button,
.plusNInput::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.plusNInput[type="number"] {
    -moz-appearance: textfield;
}

.whiteKey:hover,
.blackKey:hover,
.plus50:hover,
.minus50:hover,
.plus33:hover,
.minus33:hover {
    border-color: goldenrod;
    background-color: goldenrod;
}
.keyboardLabel {
    width: 200px;
    padding-left: 20px;
}

footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    padding: 0.4rem;
    z-index: 999;
    background-color: crimson;
    font-size: 0.8em;
}