.table-header-rotated th.rotate {
    height: 5em;
    white-space: nowrap;
}

.table-header-rotated th {
    border-top: none;
}

.table-header-rotated th.rotate > div > span {
    padding: 5px 5px;
}

.table-header-rotated th.rotate > div {
    transform: translate(-9px, 0px) rotate(-45deg);
    width: 3em;
}

.invalid-input {
    font-size: 80%;
    color: red;
}

#slotmatrix th {
    margin-bottom:1em;
}

#slotmatrix td {
    margin: 0;
}

#slotmatrix th, #slotmatrix td {
    border-collapse: collapse;
}

#slotmatrix th {
    padding-bottom: 1em;
    padding-left: 0;
    padding-right: 0;
}

#slotmatrix td {
    padding: 1px;
}

#slotmatrix .slot {
    width:3em;
    height:3em;
    text-align: center;
    overflow: hidden;
    vertical-align: middle;
    padding:0;
}

#slotmatrix .slot label {
    position: relative;
    top: 30%;
    left:30%;
}

#application .custom-control-input:checked ~ .custom-control-label::before {
    background-color: slategray;
}

#application .custom-control-input:checked {
    background-color: slategray;
}