@font-face {
  font-family: 'Ubuntu';
  src: url('/storage/fonts/ubuntu/Ubuntu.woff2') format('woff2'),
       url('/storage/fonts/ubuntu/Ubuntu.woff') format('woff'),
       url('/storage/fonts/ubuntu/Ubuntu.ttf') format('truetype'),
       url('/storage/fonts/ubuntu/Ubuntu.otf') format('otf');
}

:root {
  --background: #000000;
  --font: #ffffff;
  --border: #ffffff;
  --screen: #2c2828;
  --calculator: #000000;
  --btn: #1b1919;
  --btn-hover: #2e2d2d;
  --btn-active: #040404;
  --btn-red: #121010;
  --btn-red-hover: #171414;
  --btn-red-active: #040404;
  --btn-blue: #121010;
  --btn-blue-hover: #171414;
  --btn-blue-active: #040404;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  background-color: var(--background);
  background-image: url('Doodax.jpg');
  color: var(--font);
  font-family: 'Ubuntu', sans-serif;
  line-height: 1.6;
  /* footer support */
  margin-bottom: 100px;
}

button {
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  outline: none;
}

/* MAIN */

.main {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 75vh;
  min-height: 500px;
  padding: 10px;
  margin-top: 50px;
}

.calculator {
  width: 400px;
  border: 2px var(--border) solid;
  border-radius: 15px;
  padding: 20px;
  background-color: var(--calculator);
}

.screen {
  padding: 10px 20px;
  border: 2px var(--border) solid;
  border-radius: 5px;
  margin-bottom: 20px;
  background-color: var(--screen);
  text-align: right;
  word-wrap: break-word;
  word-break: break-all;
}

.screen-last {
  min-height: 32px;
  font-size: 20px;
}

.screen-current {
  min-height: 64px;
  font-size: 50px;
}

.buttons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
}

.span-2 {
  grid-column: span 2;
}

.btn {
  padding: 20px;
  border: 2px var(--border) solid;
  border-radius: 5px;
  background-color: var(--btn);
  font-size: 25px;
}

.btn:hover {
  background-color: var(--btn-hover);
}

.btn:active {
  background-color: var(--btn-active);
}

.btn-red {
  background-color: var(--btn-red);
}

.btn-red:hover {
  background-color: var(--btn-red-hover);
}

.btn-red:active {
  background-color: var(--btn-red-active);
}

.btn-blue {
  background-color: var(--btn-blue);
}

.btn-blue:hover {
  background-color: var(--btn-blue-hover);
}

.btn-blue:active {
  background-color: var(--btn-blue-active);
}

/* Disables input spinners in calc screen */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* FOOTER */

.footer {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 10px;
  font-size: 20px;
}

.fa-github {
  color: var(--font);
  font-size: 24px;
  transition: transform 0.3s ease-in-out;
}

.fa-github:hover {
  transform: rotate(360deg) scale(1.2);
}
