* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

body {
  font-family: 'League Spartan', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  background-color: hsl(222, 26%, 31%);
}

/************* GENERAL STYLES *************/

.container {
  width: 90rem;
  margin: 0 auto;
  padding: 48px;
}

.btn {
  height: 96px;
  font-size: 56px;
  font-weight: 700;
  border-radius: 24px;
  cursor: pointer;
  color: hsl(224, 28%, 35%);
  background-color: hsl(30, 25%, 89%);
  box-shadow: 0px 4px 0px 0px hsl(29, 16%, 65%);
}

.btn:active {
  background-color: white;
}

.btn--large {
  grid-column: span 2;
}

.btn--secondary {
  background-color: hsl(225, 21%, 49%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(224, 28%, 35%);
}

.btn--secondary:active {
  background-color: hsl(224, 51%, 76%);
}

.btn--tertiary {
  background-color: hsl(6, 63%, 50%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(6, 70%, 34%);
}

.btn--tertiary:active {
  background-color: hsl(6, 93%, 67%);
}

/************* Header *************/

.header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
}

.logo {
  color: white;
  font-size: 64px;
}

.theme {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  color: white;
}

/************* TOGGLE THEME *************/

.tri-state-toggle {
  display: flex;
  gap: 18px;
  background-color: hsl(228, 28%, 21%);
  padding: 9px;
  border-radius: 24px;
}

.button {
  height: 20px;
  width: 20px;
}

input {
  height: 20px;
  width: 20px;
  appearance: none;
  background-color: hsl(7, 84%, 66%);
  border-radius: 50%;
  opacity: 0.2;
}

#one {
  opacity: 1;
}

.button:hover {
  cursor: pointer;
}

/************* Section output *************/

.section-output {
  display: flex;
  justify-content: end;
  align-items: center;
  font-size: 64px;
  color: white;
  background-color: hsl(224, 36%, 15%);
  height: 128px;
  border-radius: 24px;
  margin-bottom: 48px;
  padding-right: 48px;
}

.output {
  margin-right: 48px;
  color: white;
}

/************* Section inputs *************/

.section-inputs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  padding: 32px;
  background-color: hsl(223, 31%, 20%);
  border-radius: 24px;
}

/* THEME 2 */
.theme2-text {
  color: hsl(60, 10%, 19%);
}

.btn-theme2 {
  height: 96px;
  font-size: 56px;
  font-weight: 700;
  border-radius: 24px;
  cursor: pointer;
  color: hsl(60, 10%, 19%);
  background-color: hsl(45, 7%, 89%);
  box-shadow: 0px 4px 0px 0px hsl(35, 11%, 61%);
}

.btn-theme2:active {
  background-color: white;
}

.btn--secondary--theme2 {
  background-color: hsl(185, 42%, 37%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(185, 58%, 25%);
}

.btn--secondary--theme2:active {
  background-color: hsl(185, 41%, 56%);
}

.btn--tertiary--theme2 {
  background-color: hsl(25, 98%, 40%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(25, 99%, 27%);
}

.btn--tertiary--theme2:active {
  background-color: hsl(25, 100%, 61%);
}

/* Theme 3 */

.theme3-text {
  color: hsl(52, 100%, 62%);
}

.btn-theme3 {
  height: 96px;
  font-size: 56px;
  font-weight: 700;
  border-radius: 24px;
  cursor: pointer;
  color: hsl(52, 100%, 62%);
  background-color: hsl(268, 47%, 21%);
  box-shadow: 0px 4px 0px 0px hsl(290, 70%, 36%);
}

.btn-theme3:active {
  background-color: hsl(285, 91%, 52%);
}

.btn--secondary--theme3 {
  background-color: hsl(281, 89%, 26%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(285, 91%, 52%);
}

.btn--secondary--theme3:active {
  background-color: hsl(285, 91%, 52%);
}

.btn--tertiary--theme3 {
  background-color: hsl(176, 100%, 44%);
  color: white;
  box-shadow: 0px 4px 0px 0px hsl(177, 92%, 70%);
}

.btn--tertiary--theme3:active {
  background-color: hsl(177, 92%, 70%);
}

/* Responsive */
