* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  font-family: 'Rubik', sans-serif;
  font-weight: 400;
  color: #0C0F0A;
  background-image: url("1.jpg");
 background-repeat: no-repeat;
    background-size: cover;
}

p {
  margin: 0;
}

.attract,
.finished {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}
@media only screen and (min-width: 560px) {
  .attract,
  .finished {
    max-width: 500px;
  }
}

.finished {
  display: none;
}

.playing {
  display: none;
  flex-direction: column;
  height: 100%;
  min-height: 300px;
}

.attract__rules {
  font-size: 30px;
  text-shadow: 2px 2px 8px #000000;
  margin-bottom: 30px;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .attract__rules {
    font-size: 20px;
  }
}

.count {
  flex-basis: 60px;
  flex-shrink: 0;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #2c5168;
  color: #fff;
  font-size: 20px;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .count {
    flex-basis: 40px;
    font-size: 16px;
  }
}

.count__inner {
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.count__timer {
  margin-right: 20px;
}

.question {
  flex-basis: 70%;
  background-color: #fff;
  position: relative;
}

.question__block {
  width: 100%;
  height: 50%;
  position: relative;
  padding-top: 15px;
}
@media only screen and (max-height: 460px) {
  .question__block {
    padding-top: 5px;
  }
}

.question__block:first-child {
  border-bottom: 1px solid #B8C9D4;
}

.question__block:nth-child(2) {
  border-top: 1px solid #B8C9D4;
}

.question__main {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 110px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .question__main {
    font-size: 70px;
  }
}
@media only screen and (max-width: 360px), only screen and (max-height: 360px) {
  .question__main {
    font-size: 50px;
  }
}

.question__desc {
  font-size: 20px;
  text-align: center;
  color: #2c5168;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .question__desc {
    font-size: 16px;
  }
}
@media only screen and (max-width: 360px), only screen and (max-height: 360px) {
  .question__desc {
    font-size: 14px;
  }
}

.question__feedback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.question__feedback-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.1);
  width: 100%;
  height: 100%;
  visibility: hidden;
  font-size: 20px;
}

.question__feedback-text > p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-transform: uppercase;
}

.question__feedback-text--correct {
  color: #27AE60;
}

.question__feedback-text--wrong {
  color: #EB5757;
}

.question__feedback-text.is-active {
  visibility: visible;
  -webkit-animation: showFeedback .3s ease-out forwards;
          animation: showFeedback .3s ease-out forwards;
}

@-webkit-keyframes showFeedback {
  0% {
    font-size: 20px;
    background-color: rgba(255, 255, 255, 0.1);
  }
  100% {
    font-size: 100px;
    background-color: white;
  }
}

@keyframes showFeedback {
  0% {
    font-size: 20px;
    background-color: rgba(255, 255, 255, 0.1);
  }
  100% {
    font-size: 100px;
    background-color: white;
  }
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  @-webkit-keyframes showFeedback {
    0% {
      font-size: 20px;
      background-color: rgba(255, 255, 255, 0.1);
    }
    100% {
      font-size: 40px;
      background-color: white;
    }
  }
  @keyframes showFeedback {
    0% {
      font-size: 20px;
      background-color: rgba(255, 255, 255, 0.1);
    }
    100% {
      font-size: 40px;
      background-color: white;
    }
  }
}
.answer {
  flex-basis: 25%;
  background-color: #B8C9D4;
}

.answer__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-content: center;
}

.answer__desc {
  flex-basis: 60px;
  flex-shrink: 0;
  text-align: center;
  position: relative;
}
@media only screen and (max-height: 560px) {
  .answer__desc {
    flex-basis: 40px;
  }
}

.answer__desc > p {
  width: 100%;
  padding: 0 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #2c5168;
  font-size: 20px;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .answer__desc > p {
    font-size: 16px;
  }
}
@media only screen and (max-width: 360px), only screen and (max-height: 360px) {
  .answer__desc > p {
    font-size: 14px;
  }
}

.answer__buttons {
  flex-basis: 100%;
  padding: 0 20px 20px;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .answer__buttons {
    padding: 0 10px 20px;
  }
}
@media only screen and (max-height: 360px), only screen and (max-height: 360px) {
  .answer__buttons {
    padding: 0 10px 10px;
  }
}

.answer__btn-wrap {
  width: 50%;
  float: left;
  height: 100%;
  padding: 0 20px;
  max-width: 400px;
}
@media only screen and (max-height: 560px) {
  .answer__btn-wrap {
    max-width: 200px;
  }
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .answer__btn-wrap {
    padding: 0 10px;
  }
}

.answer__btn {
  width: 100%;
  height: 100%;
  border: none;
  box-shadow: 2px 2px 8px #000000;
  padding: 0;
  background-color: #2c5168;
  font-size: 50px;
  text-shadow: 2px 2px 8px #000000;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 5px;
  transition: all .2s ease-in;
  letter-spacing: 0.05em;
  color: #fff;
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  transition: background-color .3s ease-out;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .answer__btn {
    font-size: 30px;
  }
}
@media only screen and (max-height: 360px) {
  .answer__btn {
    font-size: 20px;
  }
}

.answer__btn:hover {
  background-color: #0C0F0A;
}

.answer__btn:focus {
  outline: none;
}

.finished__wrap {
  width: 100%;
  text-align: center;
}

.finished__score {
  font-size: 30px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .finished__score {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

.finished__score-nr {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 100px;
  font-weight: 900;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .finished__score-nr {
    font-size: 70px;
  }
}

.button {
  background-color: #2c5168;
  padding: 16px 40px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 40px;
  text-shadow: 2px 2px 8px #000000;
  text-transform: uppercase;
  color: #fff;
  border-radius: 5px;
  letter-spacing: 0.05em;
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  transition: background-color .3s ease-out;
}
.button1 {
  background-color: #2c5168;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 40px;
  text-shadow: 2px 2px 8px #000000;
  text-transform: uppercase;
  color: #fff;
  border-radius: 5px;
  letter-spacing: 0.05em;
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  transition: background-color .3s ease-out;
}
@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .button1 {
    font-size: 20px;
  }
}


@media only screen and (max-width: 560px), only screen and (max-height: 560px) {
  .button {
    font-size: 20px;
  }
}

.button:hover {
  background-color: #0C0F0A;
}
.button1:hover {
  background-color: #0C0F0A;
}
