@font-face {
  font-family: "Raleway";
  src: url("../fonts/Raleway-VariableFont_wght.woff2") format("woff2 supports variations"), url("../fonts/Raleway-VariableFont_wght.woff2") format("woff2-variations");
  font-weight: 100 900;
}
@font-face {
  font-family: "Raleway-italic";
  src: url("../fonts/Raleway-Italic-VariableFont_wght.woff2") format("woff2 supports variations"), url("../fonts/Raleway-Italic-VariableFont_wght.woff2") format("woff2-variations");
  font-weight: 100 900;
}
html {
  font-size: 1rem !important;
}
body {
  margin: 0;
  padding: 0;
  background-color: #514533;
  color: #fff;
  font-family: 'Raleway', sans-serif;
  font-feature-settings: "lnum";
}
img {
  display: block;
  max-width: 100%;
}
.wrap {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  max-width: 428px;
  width: 100%;
}
.helpscreen {
  box-sizing: border-box;
  position: absolute;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #8e8071;
  z-index: 202;
  transition: all 0.5s;
  overflow-y: auto;
  padding-bottom: 5rem;
}
.helpscreen.outofscreen {
  right: -100%;
}
.helpscreen .startscreen-button {
  justify-content: center;
}
.helpscreen-title {
  background-color: #514533;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  padding: 1rem;
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: 1rem;
}
.helpscreen-block {
  background-color: #514533;
  margin: 1rem;
  padding: 1rem 1rem 1px 1rem;
}
.helpscreen-block a {
  color: #fff;
}
.helpscreen-subtitle {
  text-transform: uppercase;
  font-weight: bold;
}
.infoscreen {
  position: absolute;
  right: -100%;
  width: 100%;
  height: 100vh;
  background: green;
  z-index: 203;
}
.chartscreen {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  min-height: 100vh;
  background: #b3ba93;
  z-index: 220;
  transition: all 0.5s;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  font-weight: bold;
  text-transform: uppercase;
}
.chartscreen.outofscreen {
  right: -100%;
}
.chartscreen a {
  color: #fff;
}
.chartscreen .thumsup {
  display: flex;
  align-items: center;
  justify-content: center;
}
.chartscreen img {
  max-width: 70%;
}
.chartscreen-text {
  font-size: 1rem;
  padding: 1rem;
  text-align: center;
}
.chartscreen-text strong {
  text-transform: uppercase;
  display: block;
  margin-bottom: 1em;
}
.playertable {
  width: 100%;
  font-size: 1rem;
  box-sizing: border-box;
  padding: 0 1rem;
}
.playertable strong {
  display: block;
  background-color: #514533;
  color: #fff;
  padding: 1rem;
  text-align: center;
}
.playertable div {
  padding: 0.125rem 1rem;
  background-color: #8e8071;
  display: flex;
  justify-content: space-between;
}
.playertable div span {
  font-weight: normal;
  display: none;
}
.playertable div:nth-child(2) {
  font-size: 1.5rem;
}
.playertable div:nth-child(2) span {
  display: block;
}
.playertable div:nth-child(odd) {
  background-color: #9a8d80;
}
.stage {
  display: grid;
  width: 400%;
  transition: all 0.2s;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.stage[data-progress="1"] {
  transform: translateX(-25%);
}
.stage[data-progress="2"] {
  transform: translateX(-50%);
}
.stage[data-progress="3"] {
  transform: translateX(-75%);
}
#stage-quest {
  background-color: #514533;
}
.stage-header {
  display: grid;
  align-items: center;
  background-color: #8eafbc;
  font-weight: bold;
  grid-template-columns: 4rem auto;
  text-transform: uppercase;
}
.stage-header span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #4f788b;
  font-size: 2rem;
}
.stage-header h1 {
  margin: 0;
  padding: 0.5rem 4rem 0.5rem 2rem;
  background-position: 95% 50%;
  background-size: auto 3rem;
  background-repeat: no-repeat;
  font-size: 1.2rem;
}
.stage-img {
  position: relative;
}
.stage-img::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.75rem;
  background: -moz-linear-gradient(top, #000000 0%, transparent 100%);
  background: -webkit-linear-gradient(top, #000000 0%, transparent 100%);
  background: linear-gradient(to bottom, #000000 0%, transparent 100%);
  content: "";
  opacity: 0.75;
}
.stage-question {
  margin: 0.5rem 0.5rem 0 0.5rem;
}
.stage-question p {
  margin: 0;
  padding: 1rem;
}
.stage-answers {
  margin: 0 0.5rem;
  padding: 1px 0 0.5rem 0;
}
.stage--8 .stage-answers {
  padding-bottom: 10rem;
}
.stage--choose .stage-quest label,
.stage--chooseall .stage-quest label {
  position: relative;
  margin: 0.5rem 1rem;
  padding: 0.75rem 2rem;
  border: 0.66rem solid #8eafbc;
  border-radius: 9rem;
  background-color: #8eafbc;
  font-weight: bold;
}
.stage--choose .stage-quest label.correct,
.stage--chooseall .stage-quest label.correct {
  background-color: #a2c617;
}
.stage--choose .stage-quest label.incorrect,
.stage--chooseall .stage-quest label.incorrect {
  background-color: #e81a1a;
}
.stage--chooseimg .stage-answers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
}
.stage--chooseimg label {
  padding: 0.125rem;
  background-color: #333333;
  font-weight: bold;
}
.stage--order .stage-answers {
  position: relative;
  padding: 0 1rem;
}
.stage--order .tosort {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-weight: bold;
}
.stage--order .tosort .tosort-item {
  position: relative;
  box-sizing: border-box;
  margin: 1rem 0;
  padding: 1rem 2rem;
  border-radius: 9rem;
  background-color: #333333;
}
.stage--order .tosort .tosort-item.correct {
  background-color: #a2c617;
}
.stage--order .tosort li.sortable_clone {
  box-sizing: border-box;
  background-color: #c552b1;
}
.stage--order .tosort li.sortable_placeholder {
  border-radius: 9rem;
  background-color: #666666;
}
.stage-answers label {
  display: block;
}
.stage-answers label.correct {
  background-color: #a2c617;
}
.stage-answers label.incorrect {
  background-color: #e81a1a;
}
.stage-answers input[type=radio],
.stage-answers input[type=checkbox] {
  position: absolute;
  left: -9999rem;
}
.dropgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.dropwrap {
  position: relative;
}
.drop.zone {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.drop.free {
  display: grid;
  min-height: 2rem;
  margin-top: 1rem;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 1rem;
}
.dragdrop {
  z-index: 200;
  box-sizing: border-box;
  padding: 0.75rem 2rem;
  border: 0.66rem solid #8eafbc;
  border-radius: 2rem;
  background-color: #8eafbc;
  text-align: center;
  font-weight: bold;
  justify-self: center;
}
.dragdrop.correct {
  background-color: #a2c617;
}
.next {
  cursor: pointer;
}
.hidden {
  display: none;
}
.button {
  display: inline-flex;
  padding: 1rem;
  background-color: #a2c617;
  color: #fff;
}
.button--map {
  margin: 0 auto;
  border-radius: 9rem;
  background: #8eafbc;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
}
.button--chart {
  margin: 0 auto;
  border-radius: 9rem;
  background: #fff;
  color: #514533;
  text-transform: uppercase;
  font-weight: bold;
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 255;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #00b1eb;
}
.overlay svg {
  max-width: 25vw;
}
.stage-check {
  display: flex;
  flex-direction: column;
}
.pattern-grid {
  display: grid;
  align-content: center;
  flex-basis: 100%;
  justify-content: center;
  margin: 0 auto;
  grid-template-columns: repeat(3, 5rem);
  grid-template-rows: repeat(3, 5rem);
  gap: 1.5rem;
}
.patterneye {
  width: 100%;
  height: 100%;
  background: transparent;
  background-size: cover;
  opacity: 0.7;
  filter: grayscale(100%);
}
.patterneye:nth-child(3n + 1) {
  background: url(../img/pattern-orange.svg) 0 0 no-repeat;
}
.patterneye:nth-child(3n + 2) {
  background: url(../img/pattern-blue.svg) 0 0 no-repeat;
}
.patterneye:nth-child(3n + 3) {
  background: url(../img/pattern-green.svg) 0 0 no-repeat;
}
.patterneye input[type=checkbox] {
  position: absolute;
  left: -9999rem;
}
.patterneye--checked {
  opacity: 1 !important;
  filter: grayscale(0%) !important;
}
.help {
  padding: 1rem 3rem;
  text-align: center;
}
.stage-shelf {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  background-color: #8eafbc;
}
.stage-trophies {
  display: grid;
  justify-content: center;
  margin: 3rem 0;
  grid-template-columns: 5rem 5rem 5rem;
  gap: 2rem;
}
.stage-trophy {
  height: 5rem;
  background: url(../img/trophy/trophy_empty.svg) 50% 50% no-repeat;
}
.stage-trophy--1.done {
  background: url(../img/trophy/trophy1.svg) 50% 50% no-repeat;
}
.stage-trophy--2.done {
  background: url(../img/trophy/trophy2.svg) 50% 50% no-repeat;
}
.stage-trophy--3.done {
  background: url(../img/trophy/trophy3.svg) 50% 50% no-repeat;
}
.stage-trophy--4.done {
  background: url(../img/trophy/trophy4.svg) 50% 50% no-repeat;
}
.stage-trophy--5.done {
  background: url(../img/trophy/trophy5.svg) 50% 50% no-repeat;
}
.stage-trophy--6.done {
  background: url(../img/trophy/trophy6.svg) 50% 50% no-repeat;
}
.stage-trophy--7.done {
  background: url(../img/trophy/trophy7.svg) 50% 50% no-repeat;
}
.stage-trophy--8.done {
  background: url(../img/trophy/trophy8.svg) 50% 50% no-repeat;
}
.stage-trophy--9.done {
  background: url(../img/trophy/trophy9.svg) 50% 50% no-repeat;
}
.stage-trophy--10.done {
  background: url(../img/trophy/trophy10.svg) 50% 50% no-repeat;
}
.stage-trophy--11.done {
  background: url(../img/trophy/trophy11.svg) 50% 50% no-repeat;
}
.stage-trophy--12.done {
  background: url(../img/trophy/trophy12.svg) 50% 50% no-repeat;
}
.stage-trophy--13.done {
  background: url(../img/trophy/trophy13.svg) 50% 50% no-repeat;
}
.stage-trophy--14.done {
  background: url(../img/trophy/trophy14.svg) 50% 50% no-repeat;
}
.stage-trophy--15.done {
  background: url(../img/trophy/trophy15.svg) 50% 50% no-repeat;
}
@keyframes mypulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.stage-trophy.active {
  animation-name: mypulse;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}
.stage-result {
  position: fixed;
  bottom: 0;
  width: 25%;
}
.wronganswer,
.incompleteanswer {
  background-color: #e81a1a;
  padding: 3rem 1rem 3rem 1rem;
  position: relative;
  text-align: center;
}
.wronganswer p,
.incompleteanswer p {
  margin: 0;
  font-weight: bold;
}
.incompleteanswer {
  background-color: #f7a824;
}
.stage-result-close {
  position: absolute;
  top: 2rem;
  right: 1rem;
  line-height: 0;
}
.stage-result-close:after {
  display: block;
  content: "+";
  transform: rotate(45deg);
  font-size: 5rem;
  font-weight: normal;
}
.startscreen {
  position: absolute;
  z-index: 201;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  left: 0;
  background: #8eafbc url(../img/bg-startscreen.png) 50% 0 no-repeat;
  background-size: cover;
  transition: all 0.5s;
  color: #514533;
}
.startscreen.outofscreen {
  left: -100%;
}
.startscreen-logo {
  width: 40%;
  padding-top: 2rem;
}
.startscreen-title {
  flex-basis: 30%;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 6rem;
  line-height: 0.85;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
}
.startscreen-title span {
  display: block;
  color: #514533;
}
.startscreen-subtitle {
  text-transform: uppercase;
}
.startscreen-button {
  flex-basis: 30%;
  display: flex;
  align-items: center;
}
.startscreen-button span {
  display: inline-flex;
  padding: 1rem 2rem;
  background: #514533;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
}
.startscreen-help {
  text-transform: uppercase;
  margin-bottom: 10vh;
  color: #514533;
  font-weight: 700;
}
.startscreen-copyrigth {
  padding: 0 1rem 1rem 1rem;
}
.loginscreen {
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  background: #b3ba93;
  z-index: 199;
  transition: all 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loginscreen.outofscreen {
  left: -100%;
}
.loginscreen-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}
.loginscreen-form #playername {
  background-color: white;
  border: 0;
  color: #514533;
  font-size: 1.5rem;
  padding: 0.5rem 1rem;
}
.loginscreen-form #playername:focus {
  outline: none;
}
.loginscreen-form .button {
  display: block;
  background-color: #514533;
  color: #fff;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
}
.loginscreen-form p {
  font-weight: bold;
}
.stage-map__window {
  width: 100%;
  height: 75vh;
  overflow: hidden;
  position: relative;
}
.stage-map__img {
  width: 1411px;
  height: 953px;
  position: absolute;
}
.route {
  fill: #514533;
}
.pointer {
  fill: #fff;
}
.circle {
  fill: transparent;
}
text {
  fill: #514533;
}
.stage--1 .stage-map__img {
  left: auto;
  right: -30%;
  top: auto;
  bottom: 0;
}
.stage--1 .point--1 text {
  fill: #d94147;
}
.stage--2 .stage-map__img {
  left: auto;
  right: -30%;
  top: auto;
  bottom: 0;
}
.stage--2 .route--2 {
  fill: #d94147;
}
.stage--2 .point--2 text {
  fill: #d94147;
}
.stage--2 .point--1 .pointer {
  fill: #8eafbc;
}
.stage--2 .point--1 text {
  fill: #fff;
}
.stage--3 .stage-map__img {
  left: auto;
  right: -250px;
  top: -20%;
  bottom: auto;
}
.stage--3 .route--3 {
  fill: #d94147;
}
.stage--3 .point--3 text {
  fill: #d94147;
}
.stage--3 .point--2 .pointer {
  fill: #8eafbc;
}
.stage--3 .point--2 text {
  fill: #fff;
}
.stage--3 .route--2 {
  fill: #8eafbc;
}
.stage--4 .stage-map__img {
  left: auto;
  right: -280px;
  top: -20%;
  bottom: auto;
}
.stage--4 .route--4 {
  fill: #d94147;
}
.stage--4 .point--4 text {
  fill: #d94147;
}
.stage--4 .point--3 .pointer {
  fill: #8eafbc;
}
.stage--4 .point--3 text {
  fill: #fff;
}
.stage--4 .route--2,
.stage--4 .route--3 {
  fill: #8eafbc;
}
.stage--5 .stage-map__img {
  left: -700px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--5 .route--5 {
  fill: #d94147;
}
.stage--5 .point--5 text {
  fill: #d94147;
}
.stage--5 .point--4 .pointer {
  fill: #8eafbc;
}
.stage--5 .point--4 text {
  fill: #fff;
}
.stage--5 .route--2,
.stage--5 .route--3,
.stage--5 .route--4 {
  fill: #8eafbc;
}
.stage--6 .stage-map__img {
  left: -650px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--6 .route--6 {
  fill: #d94147;
}
.stage--6 .point--6 text {
  fill: #d94147;
}
.stage--6 .point--5 .pointer {
  fill: #8eafbc;
}
.stage--6 .point--5 text {
  fill: #fff;
}
.stage--6 .route--2,
.stage--6 .route--3,
.stage--6 .route--4,
.stage--6 .route--5 {
  fill: #8eafbc;
}
#cesta-cervena {
  position: relative;
}
.stage--7 .stage-map__img {
  left: -550px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--7 .route--7 {
  fill: #d94147;
}
.stage--7 .point--7 text {
  fill: #d94147;
}
.stage--7 .point--6 .pointer {
  fill: #8eafbc;
}
.stage--7 .point--6 text {
  fill: #fff;
}
.stage--7 .route--2,
.stage--7 .route--3,
.stage--7 .route--4,
.stage--7 .route--5,
.stage--7 .route--6 {
  fill: #8eafbc;
}
.stage--8 .stage-map__img {
  left: -550px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--8 .route--8 {
  fill: #d94147;
}
.stage--8 .point--8 text {
  fill: #d94147;
}
.stage--8 .point--7 .pointer {
  fill: #8eafbc;
}
.stage--8 .point--7 text {
  fill: #fff;
}
.stage--8 .route--2,
.stage--8 .route--3,
.stage--8 .route--4,
.stage--8 .route--5,
.stage--8 .route--6,
.stage--8 .route--7 {
  fill: #8eafbc;
}
.stage--9 .stage-map__img {
  left: -500px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--9 .route--9 {
  fill: #d94147;
}
.stage--9 .point--9 text {
  fill: #d94147;
}
.stage--9 .point--8 .pointer {
  fill: #8eafbc;
}
.stage--9 .point--8 text {
  fill: #fff;
}
.stage--9 .route--2,
.stage--9 .route--3,
.stage--9 .route--4,
.stage--9 .route--5,
.stage--9 .route--6,
.stage--9 .route--7,
.stage--9 .route--8 {
  fill: #8eafbc;
}
.stage--10 .stage-map__img {
  left: -400px;
  right: auto;
  top: 0;
  bottom: auto;
}
.stage--10 .route--10 {
  fill: #d94147;
}
.stage--10 .point--10 text {
  fill: #d94147;
}
.stage--10 .point--9 .pointer {
  fill: #8eafbc;
}
.stage--10 .point--9 text {
  fill: #fff;
}
.stage--10 .route--2,
.stage--10 .route--3,
.stage--10 .route--4,
.stage--10 .route--5,
.stage--10 .route--6,
.stage--10 .route--7,
.stage--10 .route--8,
.stage--10 .route--9 {
  fill: #8eafbc;
}
.stage--11 .stage-map__img {
  left: -250px;
  right: auto;
  top: 0;
  bottom: auto;
}
.stage--11 .route--11 {
  fill: #d94147;
}
.stage--11 .point--11 text {
  fill: #d94147;
}
.stage--11 .point--10 .pointer {
  fill: #8eafbc;
}
.stage--11 .point--10 text {
  fill: #fff;
}
.stage--11 .route--2,
.stage--11 .route--3,
.stage--11 .route--4,
.stage--11 .route--5,
.stage--11 .route--6,
.stage--11 .route--7,
.stage--11 .route--8,
.stage--11 .route--9,
.stage--11 .route--10 {
  fill: #8eafbc;
}
.stage--12 .stage-map__img {
  left: -250px;
  right: auto;
  top: -100px;
  bottom: auto;
}
.stage--12 .route--12 {
  fill: #d94147;
}
.stage--12 .point--12 text {
  fill: #d94147;
}
.stage--12 .point--11 .pointer {
  fill: #8eafbc;
}
.stage--12 .point--11 text {
  fill: #fff;
}
.stage--12 .route--2,
.stage--12 .route--3,
.stage--12 .route--4,
.stage--12 .route--5,
.stage--12 .route--6,
.stage--12 .route--7,
.stage--12 .route--8,
.stage--12 .route--9,
.stage--12 .route--10,
.stage--12 .route--11 {
  fill: #8eafbc;
}
.stage--13 .stage-map__img {
  left: -450px;
  right: auto;
  top: -300px;
  bottom: auto;
}
.stage--13 .route--13 {
  fill: #d94147;
}
.stage--13 .point--13 text {
  fill: #d94147;
}
.stage--13 .point--12 .pointer {
  fill: #8eafbc;
}
.stage--13 .point--12 text {
  fill: #fff;
}
.stage--13 .route--2,
.stage--13 .route--3,
.stage--13 .route--4,
.stage--13 .route--5,
.stage--13 .route--6,
.stage--13 .route--7,
.stage--13 .route--8,
.stage--13 .route--9,
.stage--13 .route--10,
.stage--13 .route--11,
.stage--13 .route--12 {
  fill: #8eafbc;
}
.stage--14 .stage-map__img {
  left: -600px;
  right: auto;
  top: -300px;
  bottom: auto;
}
.stage--14 .route--14 {
  fill: #d94147;
}
.stage--14 .point--14 text {
  fill: #d94147;
}
.stage--14 .point--13 .pointer {
  fill: #8eafbc;
}
.stage--14 .point--13 text {
  fill: #fff;
}
.stage--14 .route--2,
.stage--14 .route--3,
.stage--14 .route--4,
.stage--14 .route--5,
.stage--14 .route--6,
.stage--14 .route--7,
.stage--14 .route--8,
.stage--14 .route--9,
.stage--14 .route--10,
.stage--14 .route--11,
.stage--14 .route--12,
.stage--14 .route--13 {
  fill: #8eafbc;
}
.stage--15 .stage-map__img {
  left: -600px;
  right: auto;
  top: -300px;
  bottom: auto;
}
.stage--15 .route--15 {
  fill: #d94147;
}
.stage--15 .point--15 text {
  fill: #d94147;
}
.stage--15 .point--14 .pointer {
  fill: #8eafbc;
}
.stage--15 .point--14 text {
  fill: #fff;
}
.stage--15 .route--2,
.stage--15 .route--3,
.stage--15 .route--4,
.stage--15 .route--5,
.stage--15 .route--6,
.stage--15 .route--7,
.stage--15 .route--8,
.stage--15 .route--9,
.stage--15 .route--10,
.stage--15 .route--11,
.stage--15 .route--12,
.stage--15 .route--13,
.stage--15 .route--14 {
  fill: #8eafbc;
}
.stage-map__button {
  display: flex;
  justify-content: center;
  padding-top: 1rem;
}
/*# sourceMappingURL=./style.css.map */