/* Общие стили... */

@media (max-width: 1500px) {
  .wrapper {
    width: 1200px;
  }
  .right{
    right:80px;
    width: 600px;
  }
  .right img{
    width: 100%;
  }
  #header .left{
    width: 600px;
  }
      #header .text2{
        font-size: 24px;
      }
  h1 {
      font-size: 46px;
    }      
    h1 span {
      font-size: 50px;
    }
  .logo {
      margin-right: 20px;
  }
  .price {
      font-size: 18px;
      margin-right: 20px;
  }
  #header {
      padding: 170px 0 70px;
  }
  p.dop svg {
    left: -331px;
    height: 65px;
  }
  #top .button {
       width: 266px;
      font-size: 15px;
  }
  .phone p {
      font-weight: 600;
      font-size: 19px;
  }

  .phone span {
      margin-top: -9px;

  }
  
  p.dop {
      line-height: 65px;
      margin-top: 25px;
  }
	.bonus {

    flex-wrap: wrap;
}
  .bonus > p {
      margin-right: 10px;
      width: 132px;
      width: 100%;
  }
	.bonus div{
		width:48%;
	}
  .bonus div p {
      font-size: 17px;
  }
  #plus {
      padding: 70px 0 30px;
  }
  #plus .plus div:first-child , #plus .plus div {
      padding: 20px;
      width: 385px;
      height: 135px;
  }
  #plus .plus p {
      font-size: 23px;
  }
  h2 {
      font-size: 40px;
  }
  #quiz {
  }
  #quiz h2 + p {
      font-size: 25px;
         margin-bottom: 20px;
  }
  .steps-block {
      padding-bottom: 70px;
  }
  .quiz-final {
    padding-left: 427px;
    background-position: bottom left -10px;
    background-size: 452px auto;
  }
  .quiz-final .title {
    font-size: 36px;
  }
  .quiz-final .present-final b{
    font-size: 21px;
  }
  .quiz-final .present-final span{
    font-size: 17px;
  }
  .quiz-steps .step .answers-block .answers.a-presents {
    width: 100%;
  }

  .quiz-steps .step .answers .item label {
    font-size: 16px;
  }

  .quiz-steps .step .answers-block .answers {
    width: calc(100% - 240px);
    margin-right: 40px;
  }

  .quiz-steps .step .answers-block .image {
    width: 200px;
  }
  .quiz-section h2 {
    font-size: 42px;
    padding: 0;
  }
  footer p {
      font-size: 16px;
  }
}

@media (max-width: 1250px) {
  .wrapper {
    width: 990px;
  }
#top .flex{
	flex-wrap:wrap;
}
          .right {
        right: 80px;
        width: 450px;
    }
  h1 {
      font-size: 37px;
    }
    
    h1 span {
      font-size: 40px;
    }

    #top .price:nth-child(3) {
      display: flex;
      width: 100%;
      order: 2;
      align-items: center;
      justify-content: center;
      margin-right: 0;
      margin-top: 10px;
      display: none;
  }
  .logo {
      margin-right: 40px;
      width: 150px;
  }
  .logo img{
      width: 100%;
  }
  .price {
      font-size: 18px;
      margin-right: 35px;
  }
  #header {
      padding: 150px 0 90px;
  }
  .promo-header p {
      font-size: 34px;
      margin-top: 10px;

  }
  p.dop svg {
    left: -596px;
    height: 52px;
  }
  #top .button {
       width: 266px;
       font-size: 15px;
       order: 2;
  }
	#top .phone{
		margin-right:40px
	}
  .phone p {
      font-weight: 600;
      font-size: 19px;
  }

  .phone span {
      margin-top: -9px;

  }
  .left {
      width: 600px;
  }
  .right img{
      width: 100%;
  }
  p.dop {
      line-height: 66px;
      margin-top: 15px;
      font-size: 28px;
  }
    .action {
  font-size: 21px;
  line-height: 150%;
  margin-top: 20px;
}
    #header .button {
   margin-top: 20px;
}
  .bonus > p {
      margin-right: 10px;
      font-size: 19px;
  }
  .bonus div p {
      font-size: 16px;
  }
    .doc-info {
  
  top: 315px;
  left: 40px;
}
  #plus {
      padding: 35px 0 0px;
  }
  #plus .plus div:first-child , #plus .plus div {
      padding: 20px 16px;
      width: 32%;
      height: 100px;
      margin-bottom: 20px;
  }
    #plus .plus div img{
        width: 35px;
    }
  #plus .plus p {
      font-size: 16px;
      margin-left: 10px;
  }
  h2 {
      font-size: 33px;
  }
	#aftbef ul.pluss li{
		
width: 48%;
	}
	#aftbef ul.pluss li p{
		font-size:20px;
	}
  #quiz {
  justify-content: space-between;
  }
  #quiz h2 + p {
      font-size: 23px;
      margin-bottom: 20px;
  }
  .steps-block {
      width: 100%;
      padding-bottom: 70px;
  }
  .quiz-block .quiz-title .line {
      width: 100%;
  }
    .quiz-block .quiz-title .nums {
  font-size: 22px;
}
    .quiz-steps .step .step-question {
  margin: 0px 0 30px;
  font-size: 25px;
  line-height: 100%;
}
  .quiz-steps .step .answers .item {
  }
    .quiz-steps .step .answers .item label {

font-size: 20px;

}
  .quiz-steps .step .answers .item label span {
      top: 68px;
  }

  .quiz-steps .step .answers .item label:before {
          width: 55px;
      height: 55px;
       bottom: -25px;
      background-size: cover;
  }
  .quiz-steps .step .answers .item input:checked + label:before, .quiz-steps .step .answers .item label:hover:before {
       background-size: cover;
  }
  .quiz-final .title {
      margin: 0px 0 20px;
      line-height: 125%;
      font-size: 28px;
  }
  .quiz-final .form-phone {
      width: 100%;
      margin: 30px 0 20px;
  }
	.quiz-final .form-text{
		font-size:16px;
		margin: 0px 0 20px;
	}
	.quiz-final .present-final svg{
		width: 85px;
		height: 85px;
	}
	.quiz-final .present-final{
		padding-left: 93px;
	}
  .quiz-steps .step .answers-block .image {
    order: 1;
    width: 100%;
    margin: 0 0 20px;
  }

  .quiz-steps .step .answers-block {
    flex-wrap: wrap;
  }

  .quiz-steps .step .answers-block .answers {
    width: 100%;
    order: 2;
    margin-right: 0;
  }

  .quiz-steps .step .answers .item {
    margin: 0 0 12px;
    min-height: 30px;
  }

  .quiz-steps .step .answers .item label:before {
    width: 30px;
    height: 30px;
  }

  .quiz-info {
    width: 300px;
    min-width: 300px;
  }
.quiz-final{
	padding-left: 360px;
}
  .steps-block {
    padding: 20px;
    width: calc(100% - 330px);
  }
.quiz-info .presents .items{
	justify-content:space-between
}
  .quiz-info .presents .items .item {
    width: 49%;
    margin: 0 0 15px;
  }

  .quiz-info .plan:before {
    position: relative;
    transform: none;
    display: block;
  }

  .quiz-info .plan {
    padding: 0;
    font-size: 16px;
    padding-right: 40px;
  }
	.quiz-info .plan:after{
		width: 62px;
		height: 66px;
		bottom: inherit;
		top: 0;
	}
	.quiz-info .presents b{
		font-size:20px;
		
	}
  footer p {
      font-size: 16px;
  }

}

@media (max-width: 992px) {
  .wrapper {
    width: 760px;
  }
	#top .price{
		display:none;
	}
	    .quiz-final .form-phone {
       flex-direction:column;
       gap: 15px;
    }
	    .quiz-final {
        padding: 40px;
        background: transparent;
    }
	.quiz-final .title{
		font-size: 24px;
	}
	.quiz-final .form-phone input,.quiz-final .form-phone button{
		width:100%;
	}
	.quiz-steps .step .step-question{
		padding-right:10px;
	}
	
      #header .left {
        width: 500px;
    }
	    #header .text2 {
        font-size: 20px;
    }
	    h1 {
        font-size: 32px;
    }
	h1 span {
        font-size: 34px;
    }
	    .promo-header p {
        font-size: 26px;
        margin-top: 10px;
    }
	    .action {
        font-size: 19px;
        line-height: 140%;
        margin-top: 20px;
    }
    .right {
        right: 80px;
        width: 350px;
    }
	.doc-info .years{
		font-size:40px;
	}
	.doc-info .spec{
		font-size: 16px;
	}
  .doc-info {
    padding: 15px;
    width: 217px;
    top: 350px;
    left: 60px;
  }

}

@media (max-width: 768px) {
  .wrapper {
    width: 100%;
  }
	    .steps-block {
        padding: 20px;
        width: 100%;
    }
  .quiz-final {
		padding: 30px;
		background: #fff8f5;
		text-align: center;
	}

	.quiz-final .title {
		font-size: 28px;
		line-height: 120%;
	}

	.quiz-final .form-phone input {
		height: 50px;
		padding-right: 260px;
	}

	.quiz-final .form-phone button {
		height: 50px;
		font-size: 16px;
		width: 240px;
	}

	.quiz-final .form-phone {
		width: 500px;
		margin: 0 auto 10px;
		max-width: 100%;
		flex-direction: column;
	}

	.quiz-final .present-final {
		text-align: left;
		width: 100%;
		margin: 0 auto;
		max-width: 100%;
		padding-left: 120px;
	}
	.quiz-final .present-final svg{
		width: 107px;
		height: 109px;
	}
	.quiz-final .present-final b{
		font-size:18px;
	}
	.quiz-final .present-final span{
		font-size:16px;
	}
  .quiz-info {
    width: 100%;
    padding: 20px;
}
  .quiz-info .presents b{
    font-size:18px;
  }
.quiz-info .presents .items .item {
  width: calc(100% / 2 - 15px / 2);
  margin-bottom: 0;
  margin-right: 15px;
}
	.quiz-section{
		padding: 30px 0; 
	}
  .quiz-info .presents .items .item .text{
    font-size:16px;
  }

.quiz-info .presents .items .item .image img {
  width: 100%;
}
.quiz-info .title, .quiz-info .plan{
  display: none;
}
  .bonus > p, .bonus div p, .quiz-steps .step .answers .item label {
    font-size: 18px; 
  }
 .bonus div p {
  font-weight: 400;
  font-size: 14px;
  line-height: 129%;
  color: #430018;
  text-align: left;
  margin-left: 5px;
  }
  
  .quiz-steps .step .answers .item {
    width: 45%; 
  }


}


@media (max-width: 576px) {

  .flex {
  flex-wrap: wrap;
  align-items: center;
  }
	.modal .screen2 .flex{
		gap:12px
	}
	.phone a{
		align-items:center;
	}
    .bonus {
  justify-content: space-between;
}
    #header {
  padding: 230px 0 50px;
  overflow: hidden;
}
    .bonus div {
 width: 160px;
 margin-right: 0;
 margin-top:10px;
 height: 56px;
 padding: 5px;
}
  .bonus div img{
    width:46px;
    height:46px;
  }
    .bonus > p {
  margin-right: 0px;
  width: 100%;
  text-align: left;
  font-weight: 400;
  font-size: 18px;
  line-height: 122%;
  color: #430018;
}
    #header .button {
  font-size: 18px;
  padding: 12px 69px;
  width: 100%;
  height: 80px;
  font-weight: 700;
  font-size: 18px;
  line-height: 139%;
  text-align: center;
  color: #fff;
}
  #header .button:after{
    right: -24px;
  }
  #header .left {
  width: 100%;
}
  #header .text2{
    font-weight: 500;
    font-size: 15px;
    line-height: 278%;
    text-align: center;
    color: #f26e31;
    padding: 12px 10px;
  }
    p.dop {
  line-height: 53px;
  margin-top: 15px;
  font-size: 16px;
}
    p.dop span {
  font-weight: 600;
  font-size: 16px;
}
    .right {
  position: relative;
  top: -485px;
}

  h1 {
    font-size: 35px;
  }
  
  h1 span {
    font-size: 35px;
  }
  .quiz-block .quiz-title .nums .num{
    font-size: 32px;
    font-weight: 900;
  }
	.section-title{
		margin-bottom:30px
	}
	#aftbef ul.pluss{
		flex-direction:column;
	}
	#aftbef ul.pluss li{
		width:100%;
	}
   .quiz-block .quiz-title .nums span{
    font-size: 15px;
  }
  .quiz-block .quiz-title .nums p{
    margin-top: 5px;
  }

}
@media (max-width: 475px) {
  .quiz-section h2 {
    font-size: 21px;
    padding: 0 10px;
}
  .wrapper{
      width: 335px;
      flex-direction: column;
      position: relative;
  }
    h1{
        font-size:27px;
        margin-top: 20px;
    }
    h1 span {
  font-size: 32px;
}
    .promo-header p {
  font-size: 22px;
  margin-top: 10px;
}
    p.dop {
  margin-top: 12px;
}
    .right {
  position: absolute;
  top: 202px;
  display: none;
}
 #aftbef {
    padding-top: 0px;

    padding-bottom: 28px;
  }

  .twentytwenty-container img {
    width: 100%;
  }
  #aftbef ul li {
    width: 100%;
    padding: 0;
    border-radius: 8px;
    background: transparent;
  }
  #aftbef ul li .twentytwenty-container {
    height: 214px !important;
  }
  .btn-anim{
  position: relative;
  overflow: hidden;
}
.btn-anim:before {
  content: "";
  position: absolute;
  width: 100px;
  height: 100%;
  background-image: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 30%, /* Прозрачность начала блика */
    rgba(255, 255, 255, 0.8), /* Цвет блика */
    rgba(255, 255, 255, 0) 70% /* Прозрачность конца блика */
  );
  top: 0;
  left: -100px;
  animation: shine 2s infinite linear; /* Анимация блика */
}

/* Ключевые кадры для анимации блика */
@keyframes shine {
  0% {
    left: -100px; /* Начальная позиция блика (левая сторона кнопки) */
  }
  20% {
    left: 100%; /* Позиция блика в конце (правая сторона кнопки) */
  }
  100% {
    left: 100%; /* Завершение анимации */
  }
}
    #plus .plus {
  justify-content: center;
  flex-direction: column;
}
#plus .plus div:first-child, #plus .plus div{
	width:100%;
}
    #plus .plus p {
  font-size: 16px;
}
#plus .plus div img {
  width: 51px;
}
    #plus {
  padding: 35px 0 20px;
  top: 0;
}
    #quiz {
  width: 100%;
}
    h2 {
  font-size: 22px;
}
    #quiz h2 + p {
  font-size: 16px;
  margin-bottom: 20px;
  background: linear-gradient(176deg, #990038 0%, #f6667f 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
    .quiz-block .quiz-title {flex-direction: column-reverse;align-items: baseline;}
    .action {
  font-size: 18px;
  line-height: 155%;
  margin-top: 30px;
}
    .quiz-block .quiz-title .line {
  width: 100%;
  height: 20px;
  margin-top: 10px;
}
    .quiz-block .quiz-title .nums {
  font-size: 16px;
}
    .quiz-steps .step .step-question {
  font-size: 16px;
  line-height: 156%;
  margin: 0 0 17px;
  font-size: 18px;
  line-height: 1.2;
  padding-right: 0;
}
    .quiz-steps .step .answers-block .answers {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
  .quiz-steps .step .answers-block .image{
    display:none;
  }
    .quiz-steps .step .answers .item {
  width: 100%;
  height: auto;
  margin-bottom: 25px;
  padding: 4px;
  border-radius: 6px;
}.quiz-steps {
  margin: 0 0 20px;
}
    .quiz-controls {
  flex-direction: column-reverse;
}
    .btn {
width: 295px;
height: 74px;
    }
    .quiz-controls .btn-border {width: 295px;height: 49px;margin-right: 0;margin-top: 20px;}

.quiz-controls .btn {
  width: 100%;
}

    .quiz-final .title {
  margin: 0px 0 20px;
  font-weight: 700;
  font-size: 18px;
  line-height: 139%;
}
    .quiz-final .descr {
  font-weight: 500;
  font-size: 16px;
  line-height: 130%;
  background: linear-gradient(176deg, #990038 0%, #f6667f 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 157px;
}
    .quiz-final .form-phone {
  width: 100%;
  margin: 32px 0 20px;
}
    .quiz-final .form-text {width: 100%;margin-bottom: 20px;text-align: center;font-size: 14px;}
    .mobile{
        position:absolute;
        width:50%;
        right: 0px;
    }
    .mobile img{
        width:100%;
    }

    footer p {
  font-size: 14px;
}
    .quiz-final .form-phone input {
    width: 100%;
    height: 73px;
    padding: 10px;
    }

    .quiz-final .form-phone button {width:100%;margin-top: 10px;height: 73px;}
    .quiz-steps .step .answers .item label span {
  top: 46px;
  font-weight: 400;
}
    .quiz-steps .step .answers .item label:before {
  width: 40px;
  height: 40px;
  bottom: -18px;
  background-size: cover;
}
    .doc-info {
  padding: 14px;
  width: 176px;
  top: 249px;
  left: 20px;
  height: 87px;
}
    .doc-info .years {
  font-weight: 700;
  font-size: 27px;
  line-height: 87%;
  text-align: center;
  background: linear-gradient(176deg, #990038 0%, #f6667f 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
    .doc-info .spec {
  font-weight: 400;
  font-size: 14px;
  line-height: 129%;
  text-align: center;
  color: #323232;
}
  .logo {
      margin-right: 0;
      width: 150px;
      order:0;
  }
  .phone{
      order:1;
      margin-left: auto;
  }
    .phone span {
  margin-top: -5px;
}
     .phone svg{
         /* display:none; */
         width: 23px;
     }
    .phone p {
  font-size: 18px;
  line-height: 100%;
  margin-left: 5px;
}
  .price {
     display:none;
  }

  #top .button{
      order:3;
      width:100%;
      margin-top:10px;
  }

  
/* Стиль модального окна */
.modal {

  z-index: 1111; /* Над другими элементами */

}

/* Стиль контента модального окна */
.modal-content {
  background-color: #fefefe;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left:50%;
  transform: translate(-50%,-50%);
  padding: 20px;
  border: 1px solid #888;
  width: 95%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
}
.modal-content p{  
font-size: 22px;
}



.modal .form-phone {
  width: 100%;
  margin: 30px 0 20px;
}

.modal .form-phone input {
  padding: 15px;
  width: 100%;
  height: 50px;
  font-size: 16px;
}
.modal .box{
	margin-bottom:20px;
}
	.modal h2{
		font-size:20px;
	}
.modal .form-phone button {
  padding: 12px;
  width: 100%;
  height: 50px;
  font-size: 18px;
  margin: 0;
}

}