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

body {
  background: #eef;
  font-family: Arial, sans-serif;
}

.header-container {
  padding: 30px 50px;
}

.nav-container {
  position: absolute;
  width: 90%;
  margin: 10px;
  display: flex;
  justify-content: space-between;
}

.score-container, .progress-container {
  display: flex;
  justify-content: flex-end;
  transform: scale(1.2);
}

.score-container p, .progress-container p {
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 2px 2px 12px #bbb;
}

.progress-bar{
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 999px;
  height: 10px;
  width: 0%;
  background-color: darkslateblue;
}

.rangeWrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  height: 100%;
  pointer-events: none;
}

[type="range"].kawaii {
  --base: #fe8ce4;
  --light: color-mix(in sRGB, var(--base) 60%, #fff);
  --lighter: color-mix(in sRGB, var(--base) 30%, #fff);
  --dark: color-mix(in sRGB, var(--base) 95%, #000);
  --transparent: color-mix(in sRGB, var(--base) 0%, #0000);
  appearance: none;
  font-size: 1em;
  width: 20em;
  height: 2em;
  border: 0.5em solid #fff;
  border-radius: 2em;
  box-shadow:
    0 0 1em #0001,
    0 0.25em 0.5em #0001;
  overflow: hidden;
}

[type="range"].kawaii::-webkit-slider-runnable-track {
  background:
    radial-gradient(
      circle at 0.75em 0.6em,
      var(--light) calc(0.2em - 1px),
      #0000 0.2em
    ),
    radial-gradient(
      circle at 1.25em 0.6em,
      var(--light) calc(0.2em - 1px),
      #0000 0.2em
    ),
    radial-gradient(
      circle at 5em 0.6em,
      var(--light) calc(0.2em - 1px),
      #0000 0.2em
    ),
    linear-gradient(var(--light) 0 0) 1.25em 0.4em / 3.75em calc(0.4em - 0.5px)
      no-repeat,
    linear-gradient(90deg, var(--base), var(--transparent) 1em),
    linear-gradient(#0000 70%, var(--dark) 80%),
    var(--base);
  border-radius: 2em;
  height: 100%;
  overflow: hidden;
}


[type="range"].kawaii::-webkit-slider-thumb {
  appearance: none;
  height: 2em;
  width: 2em;
  color: var(--lighter);
  background:
    radial-gradient(
      circle at 0.75em 0.6em,
      var(--light) calc(0.2em - 1px),
      #0000 0.2em
    ),
    linear-gradient(90deg, #0000 0.75em, var(--base) 0) 0 0 / 100% 50% no-repeat;
  border-radius: 50%;
  box-shadow:
    inset -0.5em 0 0.5em -0.25em var(--base),
    1em 0 0 0.25em,
    2em 0 0 0.25em,
    3em 0 0 0.25em,
    4em 0 0 0.25em,
    5em 0 0 0.25em,
    6em 0 0 0.25em,
    7em 0 0 0.25em,
    8em 0 0 0.25em,
    9em 0 0 0.25em,
    10em 0 0 0.25em,
    11em 0 0 0.25em,
    12em 0 0 0.25em,
    12em 0 0 0.25em,
    13em 0 0 0.25em,
    14em 0 0 0.25em,
    15em 0 0 0.25em,
    16em 0 0 0.25em,
    17em 0 0 0.25em,
    18em 0 0 0.25em,
    19em 0 0 0.25em;
}

.welcome-container,
.quiz-container {
  width: 500px;
  margin: 100px auto;
  padding: 30px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 2px 2px 12px #bbb;
  display: flex;
  flex-direction: column;
  transform: scale(1.3);
}

.welcome-container select,.welcome-container input{
  min-width: 100%;
  min-height: 30px;
}

.welcome-container option {
  font-size: 20px;
}

/* Loading animation */
.loader {
 position: relative;
 width: 2.5em;
 height: 2.5em;
 transform: rotate(165deg);
}

.loading-screen h3 {
  position: absolute;
  top:40%;
  left: 45%;

}

.loader:before, .loader:after{
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 display: block;
 width: 0.5em;
 height: 0.5em;
 border-radius: 0.25em;
 transform: translate(-50%, -50%);
}

.loader:before {
 animation: before8 2s infinite;
}

.loader:after {
 animation: after6 2s infinite;
}

@keyframes before8 {
 0% {
  width: 0.5em;
  box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
 }

 35% {
  width: 2.5em;
  box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);
 }

 70% {
  width: 0.5em;
  box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);
 }

 100% {
  box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
 }
}

@keyframes after6 {
 0% {
  height: 0.5em;
  box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
 }

 35% {
  height: 2.5em;
  box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);
 }

 70% {
  height: 0.5em;
  box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);
 }

 100% {
  box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
 }
}

.loader {
 position: absolute;
 top: calc(50% - 1.25em);
 left: calc(50% - 1.25em);
}

.quiz-container {
  align-items: center;
}

.form-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.form-container label {
  font-weight: bold;
}

.form-container button {
  align-self: center;
}

h1 {
  text-align: center;
  color: #333;
}

.question-container {
  margin: 20px 10px;
}

.question-container div {
  display: inline;
  font-size: 20px;
}

#current {
  background-color: lightseagreen;
  border-radius: 20%;
  padding: 5px;
}

#options {
  align-self: flex-start;
  margin: 0px 0px 20px 20px;
}

button {
  padding: 10px 20px;
  background: #4f98c2;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

button:hover {
  background-color: #0c83c8;
}

.hidden {
  display: none;
}

.quiz-restart-container {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
}

.reset-button {
  background-color: lightcoral;
  cursor: pointer;
}

.reset-button:hover {
  background-color: rgb(239, 50, 50);
}

.final-message-container {
  text-align: center;
}