html {
  box-sizing: border-box;
  font-size: 62.5%;
}

body {
  margin: 0;
  min-height: 100vh;
  background: whitesmoke;
  /* background: linear-gradient(to right, #2C5364, #203A43, #0F2027); */
  display: flex;
  justify-content: center;
  align-items: center;
}

.calculator {
  background: white;
  width: 40rem;
  border-radius: 1.2rem;
  box-shadow: 0 .5rem 3rem -.5rem rgba(0, 0, 0, .6);
}

/* Display */
.calculator-display {
  background: #000;
  color: white;
  margin: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-radius: 1rem 1rem 0 0;
}

.calculator-display h1 {
  margin: 0;
  padding: 2.5rem;
  font-size: 4.5rem;
  font-family: 'Lucida Console', sans-serif;
  font-weight: 100;
  overflow-x: auto;
}

/* Custom Scrollbar */

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #888;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Buttons */
.calculator-buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 1rem;
  padding: 1rem;
}

button {
  min-height: 5rem;
  font-size: 2rem;
  font-weight: 100;
  border: none;
  border-radius: .5rem;
  cursor: pointer;
  background-color: rgb(199, 199, 199);
}

button:hover {
  filter: brightness(110%);
}

button:active {
  transform: translateY(.1rem);
}

button:focus {
  outline: none;
}

.operator {
  background-color: grey;
  color: white;
  font-size: 3rem;
}

.clear {
  background-color: rgb(255, 40, 40);
  color: white;
}

.equal-sign {
  grid-column: -2;
  grid-row: 2 / span 4;
  background-color: rgb(13, 206, 87);
}

.clear:hover {
  filter: brightness(90%);
}

/* Media Queries */
/* Large smartphone vertical */
@media screen and (max-width: 600px) {
  .calculator {
    width: 95%;
  }
}