body {
	font-family: Arial, sans-serif;
	position: relative;
}

.centered-table {
	margin-left: auto;
	margin-right: auto;
}

.centered {
	text-align: center;
}

#target-display {
	font-size: 32px;
}

#target {
	display: inline-block;
	width: 64px;
	text-align: center;
}

#bits td {
	border: solid 1px gray;
	border-radius: 10px;
	box-sizing: border-box;
	min-width: 80px;
	font-size: 64px;
	position: relative;
	vertical-align: top;
	overflow: hidden;
}

tr#nominals td {
	text-align: center;
}

td#equal {
	border: none;
	text-align: center;
}

td#sum {
	min-width: 128px;
	border: none;
	text-align: left;
	padding-left: 0;
	overflow: visible;
}

.no-select {
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Opera and Firefox */
}

.one, .zero {
	position: absolute;
	display: block;
	text-align: center;
	left: 0;
	right: 0;
	/*left: 50%;
	top: 50%;
	right: 50%;
	bottom: 50%;*/
	
	margin: auto;
	transition: top 0.2s ease 0s, bottom 0.2s ease 0s;
}

.one {
	bottom: 0;
}

.zero {
	top: 0;
}

.one.hidden {
	bottom: 100%;
}

.zero.hidden {
	top: 100%;
}

.too-few {
	text-shadow: 0 0 10px rgba(0, 64, 128, 0.5);
}

.too-many {
	text-shadow: 0 0 10px rgba(128, 64, 0, 0.5);
}

.exact {
	text-shadow: 0 0 10px rgba(0, 128, 0, 0.5);
}