:root {
  --light-gray:     rgb(230, 230, 230);
  --mid-light-gray: rgb(215, 216, 221);
  --mid-mid-gray:   rgb(186, 186, 186);
  --mid-gray:       rgb(65, 65, 65);
  --dark-gray:      rgb(55, 55, 55);
  --green:          rgb(99, 157, 88);
  --red:            rgb(201, 88, 81);
  --orange:         rgb(217, 143, 58);
  --blue:           rgb(90, 153, 217);
}

.bgBlue {
  background-color: var(--blue);
  color: var(--light-gray);
}
.keypad td.bgBlue {
  background-color: var(--blue);
  color: var(--light-gray);
}

* {
  margin: 0;
  padding: 0;
  font: inherit;
  box-sizing: border-box;
  line-height: 1;
}
html, body {
  width: 100%;
  height: 100%;
}
body {
  font-family: "Open Sans", sans-serif;
  background-color: var(--light-gray);
  color: var(--dark-gray);
  font-size: 20px;
}
a {
  font: inherit;
  color: inherit;
}
.kassa {
  display: flex;
  height: 100%;
  margin: auto;
}
.settingsLeft, .settingsMid {
  background-color: var(--dark-gray);
  width: 7em;
  color: var(--light-gray);
}
.bigTop {
  flex: 1;
}
.bigBottom {
  background-color: var(--dark-gray);
  height: 5em;
  color: var(--light-gray);
  display: flex;
  flex-direction: row;
}
.bottomLeft {
  display: flex;
  flex-direction: row;
}
.logo {
  display: flex;
  align-items: center;
}
.logo img {
  max-width: 6em;
}
.bottomRight {
  display: flex;
  flex-direction: row-reverse;
  flex: 1;
}
.leftColumn {
  flex: 1;
  border-right: 1px solid #ccc;
  padding: 1em;
}
.rightColumn {
  width: 20em;
}
.rightColumnContainer {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.receiptContainer {
  background-color: var(--light-gray);
  flex: 1;
  /* font-family: monospace; */
  overflow: auto;
}
.inputContainer {
  /* font-family: monospace; */
  background-color: var(--mid-mid-gray);
  font-weight: bold;
}
.totalTable {
  width: 100%;
}
.rows {
  width: 100%;
}
.rows tr:hover {
  cursor: pointer;
  background-color: var(--mid-mid-gray);
}
.newRow input {
  width: 100%;
  border: none;
  background-color: transparent;
}
.totalRow {
  font-weight: bold;
  border-top: 2px solid black;
}
.flexColumns {
  display: flex;
  flex-direction: column;
}
.flexRows {
  display: flex;
  flex-direction: row;
}
.flex1 {
  flex: 1;
}
.flex2 {
  flex: 2;
}
.flex3 {
  flex: 3;
}
.width1em {
  width: 1em;
}
.width4em {
  width: 4em;
}
.width6em {
  width: 6em;
}
.keypadContainer {
}
.keypad {
  background-color: var(--dark-gray);
}
.keypad td {
  width: 5em;
  height: 2em;
  text-align: center;
  vertical-align: middle;
  background-color: var(--light-gray);
  border: 1px solid var(--mid-mid-gray);
}
td:hover {
  opacity: 0.9;
}

.alignleft {
  text-align: left;
}
.alignCenter {
  text-align: center;
}
.alignRight {
  text-align: right;
}
.productButton {
  width: 6em;
  height: 6em;
  background-color: var(--mid-gray);
  margin: 0 1em 1em 0;
  display: inline-block;
  padding: 0.5em;
  color: var(--light-gray);
}
.productButton:hover {
  cursor: pointer;
  opacity: 0.9;
}

.bold {
  font-weight: bold;
}
.material-icons {
  vertical-align: text-bottom;
}
.material-icons.icon {
  font-size: 2em;
  vertical-align: middle;
}
.hide {
  display: none;
}
.upperCase {
  text-transform: uppercase;
}
.height100 {
  height: 100%;
}

.payBg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.5);
  display: none;
  justify-content: center;
  align-items: center;
}
.payWrapper {
  position: relative;
  width: calc(100% - 5em);
  height: calc(100% - 5em);
  background-color: white;
  display: flex;
  padding: 5em;
}
.modalBg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.75);
  display: none;
  justify-content: center;
  align-items: center;
}
.modalWrapper {
  position: relative;
  /* width: calc(100% - 5em);
  height: calc(100% - 5em); */
  background-color: white;
  display: flex;
  padding: 5em;
}
.editRow {
  display: none;
}
.payForm {
  display: none;
}
form input {
  padding: 0.5em;
  width: 10em;
}
h5 {
  background-color: var(--dark-gray);
  display: inline-block;
  padding: 0.5em 1em;
  color: var(--light-gray);
  width: 10em;
}
form p {
  margin: 0 0 1em 0;
}
input[type=submit] {
  font: inherit;
  background-color: var(--green);
  color: var(--light-gray);
  height: 5em;
  width: 10em;
  border: 1px solid var(--mid-gray);
}
.close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
}
.close:hover {
  cursor: pointer;
}
.material-icons.close {
  font-size: 2em;
}

.payserQr {
  max-height: 25em;
}

.button {
  /* background-color: var(--mid-gray);
  border: 1px solid var(--mid-gray); */
}
.button:hover {
  cursor: pointer;
  opacity: 0.9;
}
.button div {
  /* margin-top: 0.5em; */
}
.bottomButton {
  text-align: center;
  background-color: var(--mid-gray);
  text-align: center;
  border: 1px solid var(--mid-gray);
  width: 5em;
  height: 5em;
}
.bottomButton div {
  margin-top: 0.5em;
}
.payWithSwish {
  background-color: var(--green);
  width: 10em;
}
.payWithCash {
  background-color: var(--green);
}
.fullWidth {
  width: 100%;
}

.payserLink {
  font-weight: bold;
  font-size: 1.5em;
  text-decoration: none;
}
.payserLinkContainer {
  margin-top: 2em;
}
.payserContainer {
  text-align: center;
  padding: 0 2em 2em 2em;
}

.leftButton {
  text-align: center;
  font-size: 0.5em;
  padding: 1em 0.25em;
}

.leftButton .material-icons {
  font-size: 4em;
}

.leftButton:hover {
  opacity: 1;
  background-color: var(--mid-gray);
}

.leftButton:hover > .hiddenLabel {
  display: block;
}

.hiddenLabel {
  display: none;
}
