* {
   margin: 0;
   padding: 0;
}

html {
   font-size: 100px;
}

body {
   font-size: 0.18rem;
   line-height: 140%;
   font-family: Montserrat, sans-serif;
   color: #fff;
}

ul,
ol {
   list-style: none;
}

img {
   max-width: 100%;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
}

.wrapper {
   max-width: 480px;
   margin: 0 auto;
}

h1 {
   font-style: normal;
   font-weight: 800;
   font-size: 0.5rem;
   line-height: 140%;
   text-transform: uppercase;
}

h2 {
   font-style: normal;
   font-weight: 800;
   font-size: 0.3rem;
   line-height: 140%;
   text-transform: uppercase;
}

h3 {
   font-style: normal;
   font-weight: bold;
   font-size: 0.18rem;
   line-height: 0.22rem;
   text-transform: uppercase;
}

p {
   font-weight: 600;
}

section {
   margin-top: -1px;
}

.common-heading {
   width: 4.2rem;
   max-width: 420px;
   margin: 0 auto;
   text-align: center;
}

.sale {
   width: 0.78rem;
   height: 0.78rem;
   border-radius: 50%;
   background: #ff4040;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
}

.sale__text {
   font-size: 0.12rem;
   text-transform: uppercase;
   font-weight: bold;
}

.sale__digit {
   font-size: 0.24rem;
   font-weight: bold;
}

.header__top {
   background: url(../img/header__top.svg) top center no-repeat;
   background-size: cover;
   padding-top: 0.23rem;
   padding-bottom: 0.5rem;
   position: relative;
   z-index: 99;
}

.header__subheading {
   max-width: 243px;
   margin: 0 auto;
   padding: 0.07rem 0.12rem 0.05rem;
   background: -webkit-gradient(linear, left top, right top, from(#fb5339), color-stop(103.83%, #9915ff));
   background: linear-gradient(90deg, #fb5339 0%, #9915ff 103.83%);
   text-align: center;
}

.header__heading {
   text-align: center;
   -webkit-animation: shadow 4s infinite linear;
   animation: shadow 4s infinite linear;
}

@-webkit-keyframes shadow {
   0% {
      text-shadow: 0px 1px 5px #ffffff, 0px -1px 5px #ffffff, 0px 0px 50px #ff6666,
         0px 0px 30px rgba(255, 208, 208, 0.8), 0px 0px 10px #fd361b;
   }
   50% {
      text-shadow: none;
   }
   100% {
      text-shadow: 0px 1px 5px #ffffff, 0px -1px 5px #ffffff, 0px 0px 50px #ff6666,
         0px 0px 30px rgba(255, 208, 208, 0.8), 0px 0px 10px #fd361b;
   }
}

@keyframes shadow {
   0% {
      text-shadow: 0px 1px 5px #ffffff, 0px -1px 5px #ffffff, 0px 0px 50px #ff6666,
         0px 0px 30px rgba(255, 208, 208, 0.8), 0px 0px 10px #fd361b;
   }
   50% {
      text-shadow: none;
   }
   100% {
      text-shadow: 0px 1px 5px #ffffff, 0px -1px 5px #ffffff, 0px 0px 50px #ff6666,
         0px 0px 30px rgba(255, 208, 208, 0.8), 0px 0px 10px #fd361b;
   }
}

.header__middle {
   background: url(../img/header.jpg) top center no-repeat;
   background-size: 100%;
   padding-top: 1.25rem;
   padding-bottom: 2.8rem;
   position: relative;
   z-index: 98;
   margin-top: -1.1rem;
}

.header__list {
   padding-left: 0.3rem;
}

.header__item {
   padding-left: 0.4rem;
   position: relative;
   max-width: 3rem;
   font-weight: bold;
   text-transform: uppercase;
}

.header__item:not(:last-child) {
   margin-bottom: 0.25rem;
}

.header__item::before {
   content: "";
   position: absolute;
   background: url(../img/tick.svg) no-repeat;
   background-size: 100%;
   width: 0.28rem;
   height: 0.29rem;
   left: 0;
   top: 50%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}

.header__bottom {
   background: #161426;
   background-size: 100%;
   position: relative;
   z-index: 100;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   padding-bottom: 0.5rem;
}

.header__bottom::before {
   content: "";
   background: url(../img/header__bottom.svg) top center no-repeat;
   background-size: 100%;
   width: 100%;
   height: 1.63rem;
   position: absolute;
   top: -0.5rem;
   z-index: 99;
}

.header__bottom-left {
   position: relative;
   z-index: 102;
}

.header__price {
   padding-top: 0.34rem;
   padding-left: 0.5rem;
}

.header__bottom-right {
   position: absolute;
   z-index: 101;
   width: 3.45rem;
   right: 0;
}

.header__bottom-right .sale {
   position: absolute;
   top: 0.12rem;
   right: 0.4rem;
}

.header__underground {
   background-color: #161426;
   padding-bottom: 0.35rem;
   margin-top: -1px;
}

.header__underground p {
   font-size: 0.18rem;
   text-transform: uppercase;
   font-weight: bold;
   text-align: center;
   margin-bottom: 0.25rem;
}

.price__item {
   font-weight: 600;
}

.old .digit {
   font-size: 0.36rem;
   position: relative;
   margin-bottom: 0.13rem;
}

.old .digit::before {
   content: "";
   background: url(../img/line-through.svg) no-repeat;
   position: absolute;
   top: 50%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
   width: 100%;
   height: 7px;
   left: -0.2rem;
}

.new .digit {
   font-size: 0.64rem;
   font-weight: bold;
   line-height: 127%;
}

.main-btn {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   margin: 0 auto;
   border-radius: 50px;
   text-decoration: none;
   color: #fff;
   font-size: 0.2rem;
   font-weight: 800;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   padding: 0.22rem 0;
   width: 3.2rem;
   max-width: 320px;
   background: linear-gradient(-45deg, #ffa63d, #ff3d77, #338aff, #3cf0c5);
   background-size: 600%;
   -webkit-animation: anime 16s linear infinite;
   animation: anime 16s linear infinite;
   outline: none;
}

@-webkit-keyframes anime {
   0% {
      background-position: 0% 50%;
   }
   50% {
      background-position: 100% 50%;
   }
   100% {
      background-position: 0% 50%;
   }
}

@keyframes anime {
   0% {
      background-position: 0% 50%;
   }
   50% {
      background-position: 100% 50%;
   }
   100% {
      background-position: 0% 50%;
   }
}

.gradient-border {
   --borderWidth: 2px;
   background: #161426;
   position: relative;
   margin: 0 0.3rem;
   font-weight: bold;
   text-transform: uppercase;
   text-align: center;
   padding: 0.26rem 0.18rem;
}

.gradient-border:after {
   content: "";
   position: absolute;
   top: calc(-1 * var(--borderWidth));
   left: calc(-1 * var(--borderWidth));
   height: calc(100% + var(--borderWidth) * 2);
   width: calc(100% + var(--borderWidth) * 2);
   background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
   z-index: -1;
   -webkit-animation: animatedgradient 3s ease alternate infinite;
   animation: animatedgradient 3s ease alternate infinite;
   background-size: 300% 300%;
}

@-webkit-keyframes animatedgradient {
   0% {
      background-position: 0% 50%;
   }
   50% {
      background-position: 100% 50%;
   }
   100% {
      background-position: 0% 50%;
   }
}

@keyframes animatedgradient {
   0% {
      background-position: 0% 50%;
   }
   50% {
      background-position: 100% 50%;
   }
   100% {
      background-position: 0% 50%;
   }
}
