@keyframes opacity-show {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

body {
  position: relative;

  margin: 0;
  padding: 0;
  min-width: 320px;
  min-height: 100vh;

  font-size: 16px;
  font-family: "segoeui", "Arial", sans-serif;
  line-height: 21px;
  color: #707070;

  background-color: #c9c9c9;
}

img {
  display: block;

  max-width: 100%;
  height: auto;
}

button:not(:disabled) {
  cursor: pointer;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
}

.page__body {
  padding-bottom: 15px;
}

.bg-main {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/bg-mobile-bottom.svg') no-repeat center bottom;
  background-size: contain;
}

.wrapper {
  position: relative;
  background: transparent;
}

.header {
  position: relative;
  display: flex;
  padding: 0 10px;
  align-items: center;
  height: 60px;
  z-index: 2;
}

.header__share-wrapper {
  margin-left: auto;
}

.header__share-overlay,
.header__share-body {
  display: none;
}

.header__share_active .header__share-overlay {
  display: block;
  position: fixed;
  top: 120px;
  left: 0;
  width: 100%;
  height: 100%;
}

.header__share_active .share {
  position: absolute;
  top: 0;
  left: 0;

  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 40px;
  width: 100%;
  height: 62px;

  background-color: rgba(51, 51, 51, 0.7);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);
}

.header__share_active .share {
  display: flex;
  justify-content: center;
  align-items: center;

  animation: opacity-show 1s;
}

.header__share-button {
  position: relative;

  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 4px;

  border: none;
  background: transparent;
}

.header__share-button:active,
.header__share-button:focus,
.header__share-button:hover {
  outline: none;
}

.header__share_active .header__share-button {
  padding: 8px 4px 8px 26px;
}

.header__share_active .header__share-button:before,
.header__share_active .header__share-button:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 5px;
  width: 20px;
  height: 3px;
  border-radius: 3px;
  background-color: #ffffff;
  z-index: 5;
}

.header__share_active .header__share-button:before {
  transform: rotate(45deg);
  box-shadow: none;
}

.header__share_active .header__share-button:after {
  transform: rotate(-45deg);
}

.header__button-icon {
  fill: #777777;
}

.header__share_active .header__button-icon {
  display: none;
}

.header__share .share__button:focus,
.header__share .share__button:hover,
.header__share .last__share-button:focus,
.header__share .last__share-button:hover {
  color: #ffffff;
  background-color: #ffffff;
}

.header__share-title {
  display: block;
  margin: 0;
  padding-left: 4px;
  font-weight: 400;
  font-size: 14px;
  color: #ffffff;
}

.content {
  position: relative;

  margin: 0 15px;
  padding: 0;
  min-height: calc(100vh - 80px);

  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
}

.content__step {
  padding: 20px 10px;
  max-width: 870px;
  box-sizing: border-box;

  background: url("./img/bg-line.svg") no-repeat left calc(100% - 10px);
}

.content__step_start {
  background: url("./img/bg-line.svg") no-repeat left calc(100% - 170px);
}

.content__logo-link {
  position: absolute;
  top: 24px;
  right: 6px;
  margin-left: -70px;

  display: inline-block;
}

.content__step_start .content__logo-link {
  right: 50%;
  margin-right: -70px;
}

.content__logo-image {
  display: block;
  width: 140px;
  max-width: 100%;
  height: auto;
}

.content__game-title {
  margin-top: 0;

  font-family: "slimamif", "Arial", sans-serif;
  font-size: 30px;
  font-weight: normal;
  text-align: left;
  color: #570a06;
}

.content__step_start .content__game-title {
  margin-top: 50px;
  margin-bottom: 28px;

  font-size: 50px;
  text-align: center;
}

.content__photo {
  margin-bottom: 20px;
  padding: 0 6px;
}

.content__photo-wrapper {
  position: relative;

  padding-bottom: 70.5%;
  width: 100%;

  background-color: #eeeeee;
  overflow: hidden;
}

.content__photo-wrapper img {
  width: 100%;
  height: auto;
  transition: transform 0.6s, opacity 0.1s;
  position: absolute;
  opacity: 1;
}

.question-counter {
  font-family: "segoeui", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
  text-align: center;
  text-transform: uppercase;
  color: #cf1109;
}

.content__step_start .content__question-counter,
.content__step_finish .content__question-counter {
  display: none;
}

.question-counter__title {
  padding-right: 5px;
}

.question-counter-counter__slash,
.question-counter__number-of-question {
  color: #707070;
}

.content__selected-answer::before {
  display: block;
  margin-bottom: 16px;
  padding: 6px 6px 6px 56px;

  font-size: 16px;
  line-height: 21px;
  text-transform: uppercase;
}

.content__step_right .content__selected-answer::before {
  content: 'Правильный выбор!';
  background: url("./img/icon-answer-right.svg") no-repeat 16px center;
  background-size: 32px;
}

.content__step_wrong .content__selected-answer::before {
  content: 'Неправильный выбор!';
  background: url("./img/icon-answer-wrong.svg") no-repeat 16px center;
}

.content__selected-answer-text {
  display: block;

  padding: 14px 14px 14px 20px;

  font-size: 16px;
  font-weight: normal;
  line-height: 21px;
  color: #707070;
}
.content__step_right .content__selected-answer-text {
  box-shadow: inset 5px 0 0 0 #118e34,inset 0 0 0 5px #eeeeee;
}

.content__step_wrong .content__selected-answer-text {
  box-shadow: inset 5px 0 0 0 #d71f27,inset 0 0 0 5px #eeeeee;
}

.content__step_finish .content__selected-answer-text {
  padding: 0;

  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
  text-align: center;
  text-transform: uppercase;
  color: #cf1109;
}

.content__main-text {
  margin: 28px -10px 22px;
  padding: 28px 10px;

  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
  color: #570a06;

  background: #e8e8e8;
}

.content__step_start .content__main-text,
.content__step_finish .content__main-text {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;

  font-weight: normal;
  color: #707070;

  background: none;
}

.content__main-text p {
  margin: 0 auto;
  padding: 0;
}

.content__main-text .content__text-descr {
  margin-bottom: 28px;
}

.content__main-text .content__text-question {
  margin-bottom: 14px;

  color: #570a06;
}

.content__main-text b {
  display: block;

  font-size: 20px;
  font-weight: 600;
  line-height: 27px;
  text-align: center;
  text-transform: uppercase;
  color: #707070;
}

.content__main-text ul {
  margin: 0;
  padding: 0;

  font-weight: 600;
  list-style: none;
}

.content__main-text span {
  font-weight: 600;
  color: #570a06;
}

.content__main-text a {
  color: #4a4249;
}

.content__main-text a:hover {
  color: #008cc9;
}

.content__main-text h3 {
  padding: 0 44px;

  font-size: 20px;
  font-weight: 600;
  line-height: 27px;
  text-align: center;
  color: #570a06;
}

.content__question-title {
  padding: 0;
  margin: 0 0 28px;
  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
  color: #cf1109;
  text-align: center;
  text-transform: uppercase;
}

.content__question-list,
.content__answer-list {
  list-style: none;
  padding: 0;
  margin: 0 16px 120px;
}

.content__question-item {
  position: relative;

  margin-bottom: -5px;

  border: 5px solid #ebebeb;
  background: #ffffff;
}

.content__question-button {
  width: 100%;
  background: none;
  border: none;
  padding: 14px 8px;
  text-align: left;
  font-family: inherit;
  font-size: 16px;
  line-height: 21px;
  color: inherit;
}

.content__question-button:hover,
.content__question-button:focus,
.content__question-button:active {
  color: #146700;
}

.content__answer-item {
  position: relative;
  margin-bottom: 2px;
  padding: 22px 6px 30px 20px;
  font-family: "segoeui", "Arial", sans-serif;
  border-radius: 3px;
  background-color: #eeeeee;
}

.content__answer {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 0 0 50px;
  font-weight: 700;
  line-height: 1.2;
  font-size: 14px;
  color: #333333;
}

.content__answer-comment {
  margin-top: 0;
  padding: 14px 14px 0 0;
  font-size: 16px;
  line-height: 20px;
  color: #777777;
}

.content__answer-comment p {
  margin: 0;
}

.content__answer-comment a {
  color: inherit;
}

.content__answer-comment a:hover {
  color: #008cc9;
}

.content__description {
  margin-top: 0;
  padding: 4px 20px 16px 20px;
  font-size: 14px;
  line-height: 1.25;
  color: #777777;
}

.content__description p {
  margin: 0;
}

.content__step_right .content__answer-item_selected {
  background-color: #e0ffdb;
}

.content__step_right .content__answer-item_selected:before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath fill='%23ffffff' fill-rule='evenodd' d='M15.11 19.335l6.287-10.063a1.5 1.5 0 012.544 1.59l-7.418 11.873a1.506 1.506 0 01-.538.513l-.031.021a1.5 1.5 0 01-2.082-.404l-5.033-7.462a1.5 1.5 0 112.487-1.677l3.783 5.609z'/%3E%3C/svg%3E");
}

.content__step_wrong .content__answer-item_selected {
  background-color: #ffdfdf;
}

.content__step_wrong .content__answer-item_selected:before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath fill='%23ffffff' fill-rule='evenodd' d='M16 13.912l3.48-3.48a1.477 1.477 0 012.088 2.088L18.088 16l3.48 3.48a1.477 1.477 0 01-2.088 2.088L16 18.088l-3.48 3.48a1.477 1.477 0 01-2.088-2.088l3.48-3.48-3.48-3.48a1.477 1.477 0 012.088-2.088l3.48 3.48z'/%3E%3C/svg%3E");
}

.content__step_right .content__answer-item_selected:after,
.content__step_wrong .content__answer-item_selected:after {
  display: none;
}

.content__progress-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto 100px;
  width: 100%;
  max-width: 300px;
  height: 67px;

  font-family: "segoeui", "Arial", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 27px;
  text-align: center;
  text-transform: uppercase;
  color: #ffffff;

  border: solid 2px #d11817;
  background-color: #d11717;
  box-shadow: 0 0 13px 0 rgba(255, 255, 255, 0.5);
}

.content__step_start .content__progress-button {
  font-size: 30px;
  line-height: 40px;
}

.content__step_wrong .content__progress-button {
  color: #d11717;

  background-color: #ffffff;
}

.content__step_wrong .content__progress-button:before {
  content: '';
  display: inline-block;
  margin-right: 24px;
  width: 66px;
  height: 22px;

	background-image: url("./img/icon-back.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.content__step_right .content__progress-button:after {
  content: '';
  display: inline-block;
  margin-left: 24px;
  width: 66px;
  height: 22px;

	background-image: url("./img/icon-next.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.content__step_finish .content__progress-button {
  margin-top: 0;
}

.content__progress-button:focus,
.content__progress-button:hover,
.content__progress-button:active {
  outline: none;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.4);
}

.content__share {
  margin-top: 10px;
  margin-bottom: 10px;
}

.content__title,
.content__share-title {
  margin: 0 0 8px 0;

  font-size: 16px;
  font-weight: normal;
  line-height: 21px;
  text-align: center;
  color: #aaaaaa;
}

.content__step_start .content__title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  color: #000000;
}

.content__text-authors {
  margin: 0 auto;
  padding: 0;
  max-width: 240px;

  text-align: center;
  list-style: none;
}

.content__share-list,
.share {
  display: none;
  margin: 0;
  padding: 0;
}

.content__share-list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  height: 40px;
  max-width: 300px;

  text-align: center;

  border-radius: 3px;
  background-color: #eeeeee;
}

.content__share .header__share-button {
  display: none;
}

.content__share-list li,
.share li {
  display: inline-block;
  margin: 0 2px;
}

.content__share-button,
.share__button {
  display: block;
  width: 32px;
  height: 32px;
  background-color: transparent;
  border-radius: 16px;
}

.content__share-button {
  background-color: white;
}

.share__button:focus {
  outline: none;
}

.share__button svg {
  padding: 5px;
  fill: #ffffff;
}

.share__button:active svg,
.share__button:focus svg,
.share__button:hover svg {
  fill: #777777;
}

.content__share-button svg {
  padding: 5px;

  border-radius: 50%;
  fill: #ffffff;
}

.content__share-button_vk svg {
  background-color: #27658e;
}

.content__share-button_fb svg {
  background-color: #195997;
}

.content__share-button_ok svg {
  background-color: #fe8f04;
}

.content__share-button_tw svg {
  background-color: #36b9ff;
}

.content__share-button_tm svg {
  background-color: #2fa8df;
}

.content__share-button_wh svg {
  background-color: #3adc49;
}

.content__share-button_vb svg {
  background-color: #864cb2;
}

.text-after__list {
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0 0 0;
  padding: 0;
  list-style: none;
}

.text-after__item {
  position: relative;
  width: calc(50% - 4px);
  padding-top: calc(65% * 3 / 4);
  margin: 0 8px 8px 0;
  border-radius: 3px;
  box-shadow: -1px 1px 4px 0 rgba(0, 0, 0, 0.4);
  background-color: #ffffff;
}

.text-after__item:active,
.text-after__item:focus,
.text-after__item:hover {
  box-shadow: -1px 1px 4px 0 rgba(0, 0, 0, 0.4);
}

.text-after__item:nth-child(2n) {
  margin-right: 0;
}

.text-after__item:nth-child(1) {
  background-color: #d2a446;
}

.text-after__item:nth-child(2) {
  background-color: #7fc074;
}

.text-after__item:nth-child(3) {
  background-color: #66b6d2;
}

.text-after__item:nth-child(4) {
  background-color: #26a5bb;
}

.text-after__item a {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  z-index: 2;
}

.text-after__item-text {
  margin: 10px auto 0;
  text-align: center;
  font-family: "segoeui", "Arial", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  text-transform: uppercase;
  z-index: 2;
}

.text-after__item-open {
  margin: 4px auto;
  text-align: center;
  font-family: "segoeui", "Arial", sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
}
