:root,
:root.light {
  --bgColor: #ffffff;
  --buttonColor: #ffffff;
  --fgColor: #000000;
  --borderColor: gray;
  --disabled: gray;
  --bgSemitransparent: rgba(255,255,255,0.99);
}

:root.dark {
  --bgColor: #000000;
  --buttonColor: #202020;
  --fgColor: #ffffff;
  --borderColor: gray;
  --disabled: gray;
  --bgSemitransparent: rgba(0,0,0,0.99);
}

:root.red {
  --bgColor: #ff0000;
  --fgColor: #000000;
  --borderColor: #000000;
  --disabled: #880000;
  --bgSemitransparent: rgba(255,0,0,0.99);
}

html,body {
    height: 100%;
	width: 100%;
}

@font-face {
	font-family: "B612";
	src: url("fonts/B612-Regular.ttf");
}

@font-face {
  font-family: "B612";
  src: url("fonts/B612-Bold.ttf");
  font-weight: bold;
}

body {
	margin: 0;
	font-family: "B612", "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 4vmin;
    position: fixed;
    overflow: hidden;
	background-color: var(--bgColor);
	color: var(--fgColor);
	border-color: var(--borderColor);
}

table {
	border-spacing: 0px;
	width: 100%;
	height: 100%;
}

tr {
	width: 100%;
}

svg {
    width:100%;
    height:100%;
}

path {
	fill:var(--fgColor);
	color:var(--fgColor);
	stroke:var(--fgColor);
}

circle {
	fill:var(--fgColor);
	color:var(--fgColor);
	stroke:var(--fgColor);
}

text {
	fill:var(--fgColor);
	color:var(--fgColor);
	stroke:var(--fgColor);
}

g {
	fill:var(--fgColor);
	color:var(--fgColor);
	stroke:var(--fgColor);
}

.button {
	background-color: var(--buttonColor);
}

#mainDiv {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-o-user-select: none;
}

#mainTable {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#wrapper {
	min-height: 100%; 
}

.border {
	border: groove var(--borderColor);
}

td.cartDescription {
	padding-left: 20px;
}

td.cartAmount {
	width: 20%;
	text-align: right;
}

.headLine {
	border-top: 1px solid var(--borderColor);
    text-align: center;
    font-weight: bold;
}

.headLineSoft {
	border-top: 1px solid var(--borderColor)
}

.result {
	font-weight: normal;
	font-size: 5vmin;
	text-align: center;
	width: 50%;
}

.newItemDiv {
	width: 100%;
	height: 100%;
	display:inline-block;
}

.tokenDiv {
	width: 5vmin;
	height: 5vmin;
	display:inline-block;
}

.noPadding {
	padding: 0px;
}

.alignCenter {
	text-align: center;
}

.resultHeaderHeight {
	height: 5vmin;
}

.resultBodyHeight {
	height: 7vmin;
}

.buttonArea {
	width: 70%;
}

.cartArea {
	width: 30%;
}

#calculatorTop {
	height: 80%;
	text-align: center;
}

#calculatorBottom {
	height: 20%;
	text-align: center;
}

.buttonLeft {
	width: 50%;
	border-top: 1px solid var(--borderColor);
	border-bottom: 1px solid var(--borderColor);
	border-right: 1px solid var(--borderColor);
}

.buttonRight {
	width: 50%;
	border-top: 1px solid var(--borderColor);
	border-bottom: 1px solid var(--borderColor);
}

.buttonSingle {
	border-top: 1px solid var(--borderColor);
	border-bottom: 1px solid var(--borderColor);
	width: 100%;
}

.buttonInvisible {
	width: 0%;
	display: none;
}

#calculatorAmountGiven {
	font-weight: normal;
	font-size: 5vmin;
	text-align: center;
	width: 70%;
}

#calculator {
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--bgSemitransparent);
	z-index: 2;
	cursor: pointer;
}

#keyboard td {
	width: 25%;
}

#keyboard {
	border-left: 1px solid var(--borderColor);
}

.enabled
{
	fill:var(--fgColor);
	color:var(--fgColor);
	stroke:var(--fgColor);
}

.disabled
{
	fill:var(--disabled);
	color:var(--disabled);
	stroke:var(--disabled);
}

.flash {
    -webkit-animation-name: flash-animation;
    -webkit-animation-duration: 0.1;

    animation-name: flash-animation;
    animation-duration: 0.1s;
}

@-webkit-keyframes flash-animation {
    from { background: gray; }
    to   { background: default; }
}

@keyframes flash-animation {
    from { background: gray; }
    to   { background: default; }
}

#howto {
	position: fixed;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--bgSemitransparent);
	z-index: 4;
	cursor: pointer;
}
