html,body {
    background-color: #1D1616;
}

main {
    padding: 10px;
}

button {
    font-size: 12pt;
    background-color: #8E1616;
    color: #EEEEEE;
    border-color: #8E1616;
    text-align: center;
    border-radius: 2pt;
    border-width: thin;
}

button:hover {
    opacity: 0.8;
    transform: scale(95%);
}

.button-busy {
    opacity: 0.5;
    pointer-events: none;
    cursor: progress;
}

.button-disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.button-disabled:hover {
    cursor: not-allowed;
}

.button-invisible {
    visibility: hidden;
}

.button-prompted {
    background-color: #c69a3e;
    pointer-events: all;
}

.content-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
}

.visuals-container {
    display: flex;
    flex-direction: row;
    width: fit-content;
}

.visualization {
    height: 84px;
    width: 84px;
}

.interaction {
    display: flex;
    width: fit-content;
    height: fit-content;
    padding-top: 10px;
    margin-right: auto;
    margin-left: auto;
}

.display {
    display: flex;
    flex-direction: column;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.input-canvas {
    width: 196px;
    height: 196px;

    margin-top: auto;
    margin-bottom: auto;
}

.flex-end-button {
    margin-top: auto;
}

.button-panel-vertical {
    display: flex;
    flex-direction: column;
}

.button-panel-vertical-centered {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.button-panel-vertical-spread {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.button-panel-horizontal {
    display: flex;
    flex-direction: row;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.flexbox-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.flexbox-container-tight {
    display: flex;
    flex-direction: row;
}

.flexbox-container-column {
    display: flex;
    flex-direction: column;
    width: fit-content;
}

.weight-visualization-button {
    margin-left: 2pt;
    height: 45%;
    width: 20pt;
    font-size: 15pt;
}

.input {
    margin-top: auto;
    margin-bottom: auto;
}

.info-container {
    display: flex;
    flex-direction: column;
    background: #3a3636;
    border-radius: 10pt;
    margin-left: 10pt;
    width: 200pt;
    height: fit-content;
}

.info-container h3 {
    margin: 5pt;
    text-align: center;
    color: #EEEEEE;
}

.info-container h4 {
    margin: 5pt;
    text-align: center;
    color: #EEEEEE;
}

.info-container label {
    margin-left: 5pt;
    margin-right: 5pt;
    color: #EEEEEE;
}

.info-container button {
    width: 70%;
    margin: 5pt;
    align-self: center;
}

.info-container input {
    width: 70%;
    margin: 5pt;
    align-self: center;
    place-content: center;
}

.info-container .flexbox-container-column {
    margin-bottom: 5pt;
}

.result-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
}