html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  background: #ccc;
}

h3 {
  font-size: 3.75vw;
}

table {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
}

table td,
table th {
  text-align: left;
  font-size: 4.5vw;
}

table tr.sum td {
  background: #eee;
}

.content {
  margin-bottom: 50%;
}

.inputfield {
  width: 33.333333333333336%;
  float: left;
  background: #eee;
  border: 1px solid #ddd;
}

.inputfield label {
  float: left;
  width: 100%;
  padding-top: 5px;
  font-size: 4vw;
  text-transform: capitalize;
}

.inputfield input {
  float: left;
  width: 100%;
  border: 0;
  text-align: right;
  font-size: 6vw;
}

.calculator {
  float: left;
  width: 100%;
  margin-top: 10px;
}

.input {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 1px;
  padding-right: 5px;
  text-align: right;
  overflow-x: auto;
  background: #fff;
  font-size: 10vw;
  min-height: 13.6vw;
}

.operators {
  float: left;
  width: 100%;
}

.operators div {
  float: left;
  border: 1px solid #bbb;
  border-radius: 1px;
  width: 25%;
  text-align: center;
  cursor: pointer;
  background-color: #ddd;
  padding: 2% 0;
  font-size: 10vw;
}

.buttons {
  height: 100%;
  float: left;
  width: 100%;
}

.leftPanel {
  width: 75%;
  float: left;
}

.numbers div,
.copy-operators div {
  float: left;
  border: 1px solid #ddd;
  border-radius: 1px;
  width: 33.333333333333333333333333333333333333333333333333333333333333333333%;
  text-align: center;
  padding: 5% 15px;
  cursor: pointer;
  background-color: #f9f9f9;
  font-size: 10vw;
}

.copy-operators div {
  padding: 4% 0px;
  cursor: pointer;
  font-size: 5vw;
}

.numbers div:active {
  font-weight: bold;
}

.rightPanel {
  float: left;
  width: 25%;
  height: 100%;
}

.rightPanel div {
  float: left;
  border-radius: 1px;
  width: 100%;
  text-align: center;
  padding: 15% 0px;
  cursor: pointer;
  font-size: 10vw;
}

.equal {
  border: 1px solid #3079ED;
  color: #FFF;
  background-color: #4d90fe;
}

.copy {
  border: 1px solid #999;
  color: #000;
  background-color: #aaa;
  text-transform: capitalize;
}

.navigation {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  float: left;
}

.navigation * {
  display: block;
  width: 50%;
  float: left;

  height: 100%;
  padding: 5%;
  text-align: center;
  border: none;
  font-size: 5vw;
  text-decoration: none;
  font-family: arial;
  border: 1px solid #555;
  background: #666;
  color: #ccc;
}

.navigation input {
  background: #800;
  border-color: #700;
}

.equal:active {
  font-weight: bold;
}

input[type="date"] {
  display: block;
  width: 100%;
  font-size: 7vw;
}

.user-list li {
  display: flex;
  padding: 5% 0;
}

.user-list a,
.user-list span {
    flex-grow: 1;
    width: 100%;
    font-size: 3.8vw;
}