body {
  -webkit-transition: 1s ease;
  transition: 1s ease;
  font-size: 50%;
}

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: transparent;
  min-width: 43em;
  max-width: 43em;
  margin: auto;
  margin-top: 5%;
}

header h1 {
  display: block;
  width: 50%;
  font-family: "Spartan", sans-serif;
  font-size: 1.5rem;
  color: #fff;
}

header .switch-style {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 50%;
}

header .switch-style span {
  display: block;
  padding: 0.5rem;
  font-family: "Spartan", sans-serif;
  font-size: 0.8rem;
  color: #fff;
}

header .switch-style .switch-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6em;
  height: 100%;
  position: relative;
  border-radius: 30px;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

header .switch-style .switch-box .switch-button-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  position: absolute;
  bottom: 0%;
}

header .switch-style .switch-box .switch-button-text span {
  height: 3em;
  font-family: "Spartan", sans-serif;
  font-size: 0.6rem;
  color: #fff;
}

header .switch-style .switch-box .switch-button {
  width: 15px;
  height: 15px;
  margin: 0.3em;
  border-radius: 100%;
}

main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: transparent;
  margin: auto;
}

main .screen {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 43em;
  padding: 1em;
  border-radius: 15px;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

main .screen .historial {
  font-family: "Spartan", sans-serif;
  font-size: 1rem;
  color: #eee5e5;
}

main .screen input[type="text"] {
  display: block;
  width: 90%;
  text-align: end;
  margin: auto;
  padding: 0.3em;
  font-family: "Spartan", sans-serif;
  font-size: 2.5rem;
  color: #fff;
  background-color: transparent;
  border: none;
  outline: none;
}

main .basic-functions {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (4rem)[4];
      grid-template-columns: repeat(4, 4rem);
  -ms-grid-rows: (2rem)[5];
      grid-template-rows: repeat(5, 2rem);
  gap: 1rem;
  margin-top: 2em;
  border-radius: 15px;
  -webkit-transition: 1s ease;
  transition: 1s ease;
  padding: 3em;
}

main .basic-functions button {
  width: 100%;
  font-family: "Spartan", sans-serif;
  font-size: 1.5rem;
  color: #585a64;
  padding: .5em;
  -webkit-box-shadow: 0 0.19em 0em #a99c97;
          box-shadow: 0 0.19em 0em #a99c97;
  border-radius: 5px;
  font-size: 1.3rem;
  border: none;
  text-align: center;
  cursor: pointer;
}

main .basic-functions .col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

main .basic-functions #del,
main .basic-functions #reset {
  display: block;
  text-align: center;
  background-color: #647299;
  font-size: 1.3rem;
  color: #fff;
  -webkit-box-shadow: 0 0.19em 0em #4e5a81;
          box-shadow: 0 0.19em 0em #4e5a81;
}

main .basic-functions #output {
  display: block;
  background-color: #d13f30;
  color: #fff;
  font-size: 1.3rem;
  -webkit-box-shadow: 0 0.19em 0em #902418;
          box-shadow: 0 0.19em 0em #902418;
}

main .basic-functions .btnNum {
  display: block;
  background-color: #eae3db;
}

main .basic-functions .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
  grid-column: 1/5;
  -ms-grid-row: 6;
  grid-row: 6/6;
}

footer .attribution {
  color: white;
  font-size: 11px;
  text-align: center;
  padding: 1.6em;
}

footer .attribution a {
  font-family: "Spartan", sans-serif;
  font-size: 1rem;
  color: rgb(4, 209, 255);
}

@media (max-width: 500px) {
  footer .attribution {
    font-size: 11px;
    padding: 1.6em;
  }
  footer .attribution a {
    color: #ff0;
    font-size: 11px;
  }
}

@media (max-width: 350px) {
  header {
    min-width: 40em;
    max-width: 40em;
  }
  main {
    width: 40em;
  }
  main .screen {
    width: 45em;
  }
}