@import url("https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap");
.header, .contacts, .hero, .hero-text .hero-text_a, .hero-text .hero-brand, .chat-check, .logo, div .logo-icon, div .phone-icon, div .phone, .economy-flex .economy-example-block, .b-section-about, .section-steps .b-steps, .footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.b-feature .b-license, .feature-video h3, .section-diff .diff .b-diff h3 {
  display: flex;
  align-items: center;
}
.hero-img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.button img, .b-feature, .b-feature .b-feature-img, .feature-video .bg-img, .about-features div, .section-video .b-section-video .video-block, .section-video .b-section-video .video-block img.yt-link, .section-video .b-section-video .video-block img.yt-img, .section-video .b-section-video .video-block:after, .section-video .b-section-video .video-block:hover, .section-steps .b-steps .b-step, .section-steps .b-steps .step-number, .section-steps .b-steps .step, .section-steps .b-steps .step-img, .section-diff .diff .b-diff {
  transition: all 400ms ease;
}
.error {
  left: 50%;
  transform: translateX(-50%);
}
.popup-form {
  left: 50%;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.popup-helper {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.65);
}
.helper1, .helper2, .helper3, .helper4, .helper5 {
  border: 1px solid #fff;
}
.helper1 {
  background-color: #c9dcff;
}
.helper2 {
  background-color: #c7ffdf;
}
.helper3 {
  background-color: #ffe2c7;
}
.helper4 {
  background-color: #ffeec7;
}
.helper5 {
  background-color: #ffc7c7;
}
.helper-block1 {
  width: 64px;
  height: 64px;
}
.helper-block2 {
  width: 256px;
  height: 256px;
}
.span-feature {
  background-color: #000;
  border-radius: 8px;
  color: #fff;
  padding: 0.375rem 0.75rem;
  font-weight: 600;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
}
.slogan .span-feature {
  margin-right: 0.75rem;
}
html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
@media only screen and (min-width: 33.75em) {
  html, body {
    font-size: 14px;
  }
}
@media only screen and (min-width: 60em) {
  html, body {
    font-size: 16px;
  }
}
@media only screen and (min-width: 75em) {
  html, body {
    font-size: 18px;
  }
}
* {
  font-family: "Onest", sans-serif;
  color: #2B4254;
  line-height: 1.5;
  letter-spacing: -0.2px;
}
body {
  background-color: #EFF2F9;
}
.white-section {
  background-color: #fff;
  border-radius: 40px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
  overflow: hidden;
}
.white-section:first-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.container {
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 33.75em) {
  .container {
    width: 95%;
  }
}
@media only screen and (min-width: 60em) {
  .container {
    max-width: 60em;
    width: 90%;
  }
}
@media only screen and (min-width: 75em) {
  .container {
    max-width: 75em;
  }
}
@media only screen and (min-width: 87.5em) {
  .container {
    max-width: 87.5em;
  }
}
@media only screen and (min-width: 100em) {
  .container {
    max-width: 100em;
  }
}
.b-grid {
  margin: 0;
  display: grid;
  gap: 1.5rem;
}
@media only screen and (min-width: 45em) {
  .b-grid {
    gap: 2rem;
  }
}
@media only screen and (min-width: 87.5em) {
  .b-grid {
    gap: 2.5rem;
  }
}
.b-grid-2 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (min-width: 45em) {
  .b-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.b-grid-3 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.b-grid-3 .grid-66 {
  grid-column: span 1;
}
@media only screen and (min-width: 33.75em) {
  .b-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .b-grid-3 .grid-66 {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 60em) {
  .b-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.content-header {
  background-color: #fff;
}
.header {
  height: 90px;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 2rem;
  color: #fff;
}
@media only screen and (min-width: 45em) {
  .header {
    margin-top: 0;
  }
}
.header .logo-icon {
  display: block;
}
.header .logo-text {
  font-size: 0.865rem;
  color: inherit;
  color: #000;
  display: none;
}
@media only screen and (min-width: 45em) {
  .header .logo-text {
    display: block;
  }
}
.header .logo-text span {
  font-weight: bold;
  color: inherit;
}
.contacts {
  gap: 1.25rem;
  color: #fff;
}
.contacts .phone {
  text-decoration: none;
}
.contacts .worktime-info {
  font-size: 12px;
  line-height: 1.2;
  display: none;
}
@media only screen and (min-width: 33.75em) {
  .contacts .worktime-info {
    display: flex;
  }
}
.hero-content {
  padding: 3.75rem 0 3.75rem;
  gap: 3rem;
  text-align: center;
}
@media only screen and (min-width: 33.75em) {
  .hero-content {
    gap: 2rem;
  }
}
@media only screen and (min-width: 45em) {
  .hero-content {
    gap: 3rem;
  }
}
@media only screen and (min-width: 60em) {
  .hero-content {
    gap: 0rem;
    text-align: left;
    padding: 3.75rem 0 7.5rem;
  }
}
@media only screen and (min-width: 87.5em) {
  .hero-content {
    gap: 2rem;
  }
}
@media only screen and (min-width: 100em) {
  .hero-content {
    gap: 5rem;
  }
}
.hero {
  border-radius: 22px;
  flex-direction: column-reverse;
  gap: 1.25rem;
}
.hero-text {
  flex-shrink: 0;
  flex: 2;
}
.hero-text .hero-description {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 1rem;
  margin-top: 2rem;
}
.hero-text .hero-text_a {
  margin-bottom: 2rem;
  flex-direction: column;
  align-items: left;
}
@media only screen and (min-width: 60em) {
  .hero-text .hero-text_a {
    align-items: start;
    margin-bottom: 3.75rem;
  }
}
.hero-text .hero-brand {
  font-size: 2.5rem;
  font-weight: 300;
  width: 100%;
  padding: 1.25rem;
  background-color: #EFF2F9;
  border-radius: 10px;
}
.hero-text .hero-brand img {
  height: 60px;
  width: auto;
  position: relative;
  top: -10px;
}
.hero-text .slogan {
  font-size: 1.5rem;
  font-weight: 300;
}
.hero-text .hero-button {
  width: auto;
  padding: 1rem 5rem;
  margin-top: 3rem;
}
.hero-img {
  flex: 1.5;
  width: 100%;
}
.hero-img img {
  width: 80%;
}
@media only screen and (min-width: 45em) {
  .hero-img {
    width: 90%;
  }
}
.hero-button:hover {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}
input[type="text"], input[type="email"], textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}
form {
  position: relative;
}
form textarea {
  resize: none;
}
form input, form textarea {
  padding: 0.825rem 1rem;
  border-radius: 0.5rem;
  outline: 2px solid #EFF2F9;
  transition: all 0.3s ease-in-out;
  border: none;
}
form input:focus, form textarea:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 233, 152, 0.6);
  outline: 2px solid #17a176;
}
form textarea {
  height: 10rem;
}
form label span {
  color: red;
}
.error {
  position: fixed;
  bottom: 10px;
  margin: 2rem auto;
  background: #feccbf;
  color: #cb1c21;
  border-radius: 1rem;
  padding: 1rem 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  box-shadow: 3px 0px 12px rgba(0, 0, 0, 0.175);
}
.error button {
  padding: 0rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  line-height: 1;
  margin-left: 1.2rem;
  background: #cb1c21;
}
.error button:hover {
  background: #F8F9FE;
}
.fade {
  animation: fadeIn ease 0.3s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.xtreme-form {
  padding: 1rem 2rem;
  border-top-left-radius: 5rem;
  border-top-right-radius: 5rem;
  margin: 2rem 0;
  background-color: #c3cbdc;
  background-image: linear-gradient(118deg, #d4dae5 0%, #fbfbff 83%);
}
@media only screen and (min-width: 33.75em) {
  .xtreme-form {
    padding: 1rem 2rem;
  }
}
@media only screen and (min-width: 60em) {
  .xtreme-form {
    padding: 3rem 4rem;
  }
}
.form-contacts {
  font-size: 1.425rem;
  font-weight: 500;
  margin: 2rem 0;
}
.contacts-label {
  color: #838383;
  font-weight: 500;
}
.contact-email a {
  font-size: inherit;
  text-decoration: none;
  color: #17a176;
}
.contact-email a:hover {
  text-decoration: underline;
}
.popup-helper {
  z-index: 10;
}
.popup-form {
  border: 2px solid #F8F9FE;
  border-radius: 3rem;
  padding: 2rem;
  width: 96%;
  position: relative;
  z-index: 10;
  position: fixed;
  z-index: 99;
  background: #fff;
}
.popup-form h2 {
  font-size: 2.5rem;
  font-weight: 300;
}
.popup-form p {
  font-size: 1.5rem;
}
@media only screen and (min-width: 33.75em) {
  .popup-form {
    width: 32rem;
    padding: 2rem;
  }
}
@media only screen and (min-width: 60em) {
  .popup-form {
    width: 32rem;
  }
}
@media only screen and (min-width: 75em) {
  .popup-form {
    width: 46rem;
  }
}
.popup-form::after {
  content: "";
  background: #000;
  width: 100%;
  height: 100%;
}
form, input, textarea, form button {
  width: 100%;
}
section {
  margin: 1.25rem 0;
}
@media only screen and (min-width: 33.75em) {
  section {
    margin: 2.5rem 0;
  }
}
@media only screen and (min-width: 60em) {
  section {
    margin: 5rem 0;
  }
}
@media only screen and (min-width: 75em) {
  section {
    margin: 7.5rem 0;
  }
}
label {
  font-weight: 400;
  font-size: 1.25rem;
  margin-bottom: 4px;
  display: block;
}
.form-group {
  margin: 1rem 0;
}
.has-error label {
  color: #cb1c21;
}
.chat-check {
  text-align: left;
  margin: 2rem 0;
  color: #000;
  gap: 2.5rem;
}
.chat-check img {
  width: 8rem;
  height: 8rem;
}
.xtreme-form-content {
  gap: 27rem;
  align-items: center;
  gap: 1rem;
}
@media only screen and (min-width: 33.75em) {
  .xtreme-form-content {
    gap: 1rem;
  }
}
@media only screen and (min-width: 60em) {
  .xtreme-form-content {
    gap: 4rem;
  }
}
@media only screen and (min-width: 75em) {
  .xtreme-form-content {
    gap: 7rem;
  }
}
.form-close {
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  opacity: 1;
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
}
.popup-form_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.popup-form_header h2 {
  margin: 0;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.hide {
  display: none;
  visibility: none;
}
ul, ol {
  margin: 2.5rem 0;
}
ul li, ol li {
  margin: 0.875rem 0;
  font-size: 1.125rem;
}
ol li {
  list-style: decimal;
}
ul {
  padding-left: 20px;
}
ul li {
  list-style: none;
  background: url("../themes/rpm/assets/img/li.svg") left 6px no-repeat;
  padding-left: 20px;
}
h1, h2 {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 2.5rem;
  line-height: 3.5rem;
}
h3 {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 2.5rem;
}
.h-description {
  font-size: 1.5rem;
  margin-bottom: 2.5rem;
  width: 100%;
  max-width: 920px;
}
.button {
  color: #000;
  background: #F7E636;
  padding: 1rem;
  width: 100%;
  font-size: 1.5rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  line-height: 1;
}
.button img {
  width: 18px;
  height: 18px;
  transform: translate(0px, 1px);
}
.button:hover {
  background-color: #f0dc0a;
}
.button:hover img {
  transform: translate(4px, 1px);
}
.grecaptcha-badge {
  display: none;
}
.error.flash-message button {
  font-size: 1.5rem;
  color: #fff;
  border: none;
  border-radius: 2px;
}
.error.flash-message button:hover {
  cursor: pointer;
  background-color: #9e161a;
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.embed-responsive-21by9::before {
  padding-top: 42.8571428571%;
}
.embed-responsive-16by9::before {
  padding-top: 56.25%;
}
.embed-responsive-4by3::before {
  padding-top: 75%;
}
.embed-responsive-1by1::before {
  padding-top: 100%;
}
.section {
  margin: 4rem 0;
}
@media only screen and (min-width: 33.75em) {
  .section {
    margin: 5rem 0;
  }
}
@media only screen and (min-width: 45em) {
  .section {
    margin: 6.25rem 0;
  }
}
@media only screen and (min-width: 60em) {
  .section {
    margin: 6.25rem 0;
  }
}
@media only screen and (min-width: 75em) {
  .section {
    margin: 7.5rem 0;
  }
}
div .logo-text {
  margin-left: 0.75rem;
  font-size: 2rem;
}
div .logo-text .logo-yellow {
  color: #17a176;
  font-weight: 500;
}
div .phone-icon {
  margin-right: 0.625rem;
}
div .phone {
  font-size: 2rem;
  font-weight: 300;
}
nowrap {
  white-space: nowrap;
}
.economy-flex {
  font-size: 1.325rem;
}
.economy-flex ul li {
  font-size: 1.325rem;
}
.economy-flex .economy-img img {
  border-radius: 20px;
}
.economy-flex .economy-example-block {
  justify-content: center;
  align-items: start;
  gap: 6px;
  text-align: center;
  font-size: 1.425rem;
}
.economy-flex .economy-example-block .example-desc {
  font-size: 0.725rem;
}
.economy-flex .finalcost {
  font-size: 2rem;
  font-weight: bold;
}
.b-feature {
  background-color: #fff;
  padding: 2.5rem;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
  border-radius: 2.5rem;
}
.b-feature:hover {
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
}
.b-feature {
  font-size: 1.375rem;
}
.b-feature h3 img {
  width: 2rem;
  height: 1.5rem;
  transform: translate(0, 2px);
  border-radius: 2px;
}
.b-feature .b-feature-img {
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 6.25rem;
  transition: outline 300ms linear;
  outline: 8px solid #fff;
}
.b-feature:hover .b-feature-img {
  outline: 8px solid #EFF2F9;
}
.b-feature .b-license {
  font-size: 1.1rem;
}
.b-feature .b-license img {
  width: 2rem;
  height: 2rem;
  margin-right: 0.5rem;
}
.feature-video {
  position: relative;
  overflow: hidden;
  z-index: 1;
  height: 100%;
  min-height: 26rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  text-decoration: none;
}
.feature-video .bg-img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: fit-content;
}
.feature-video h3, .feature-video p, .feature-video a {
  color: #fff;
  position: relative;
  z-index: 3;
  margin: 0;
  width: max-content;
  background-color: #ffffffec;
  border-radius: 6px;
  padding: 0.25rem 0.5rem;
  color: #2B4254;
}
.feature-video h3 {
  font-weight: 500;
  margin-bottom: 1rem;
  gap: 10px;
}
.feature-video h3 img {
  height: 40px;
  width: auto;
  transform: translate(0px, -1px);
}
.feature-video:hover .bg-img {
  transform: scale(1.05);
}
.hidden-info {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.hidden-info.active {
  display: block;
  opacity: 1;
}
.js-toggle-trigger {
  font-size: 1rem;
  display: block;
}
.b-section-about {
  align-items: start;
  gap: 2.5rem;
  flex-direction: column;
}
@media only screen and (min-width: 60em) {
  .b-section-about {
    flex-direction: row;
  }
}
.b-section-about .about-text, .b-section-about .about-features {
  width: 100%;
}
.b-section-about p {
  font-size: 1.25rem;
}
.b-section-about p:first-of-type {
  margin-top: 0;
}
.b-section-about ul li {
  font-size: 1.25rem;
}
.about-features div {
  padding: 2.5rem 1.25rem;
  background: #fff;
  border-radius: 2.5rem;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  gap: 2.5rem;
}
.about-features div:hover {
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
}
.about-features span {
  font-size: 1.125rem;
}
.section-video .b-section-video {
  gap: 2.5rem;
}
.section-video .b-section-video .video-block {
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
  height: 16.75rem;
  padding: 0.625rem;
  position: relative;
}
.section-video .b-section-video .video-block img.yt-link {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-25px, -25px);
  width: 50px;
  height: 50px;
  z-index: 3;
  opacity: 0.5;
}
.section-video .b-section-video .video-block img.yt-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 1.25rem;
}
.section-video .b-section-video .video-block:after {
  opacity: 1;
  content: "";
}
.section-video .b-section-video .video-block:hover {
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}
.section-video .b-section-video .video-block:hover img.yt-link {
  opacity: 1;
}
.section-video .b-section-video .video-block:hover img.yt-img {
  transform: scale(1.08);
}
.section-video .b-section-video .video-block:hover:after {
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  position: absolute;
  background-color: #2B4254;
  opacity: 0.5;
}
.section-steps .b-steps {
  gap: 2.5rem;
  align-items: start;
  position: relative;
  margin: 0 1rem 0 0;
  flex-wrap: wrap;
}
@media only screen and (min-width: 45em) {
  .section-steps .b-steps {
    flex-wrap: nowrap;
  }
}
.section-steps .b-steps hr {
  position: absolute;
  height: 9px;
  background-color: #EFF2F9;
  top: 7.125rem;
  width: 10000%;
  transform: translate(-25%);
  border: 0;
  visibility: hidden;
}
@media only screen and (min-width: 45em) {
  .section-steps .b-steps hr {
    visibility: visible;
  }
}
.section-steps .b-steps .b-step {
  width: 100%;
}
.section-steps .b-steps .b-step:hover .step {
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
}
.section-steps .b-steps .b-step:hover .step-number {
  color: #2B4254;
}
.section-steps .b-steps .b-step:hover .step-img {
  transform: scale(1.05);
}
.section-steps .b-steps .step-number {
  font-size: 5.625rem;
  color: #EFF2F9;
  font-weight: bold;
  line-height: 1.2;
  width: 64px;
  text-align: center;
}
.section-steps .b-steps .step {
  border-radius: 2.5rem;
  border: 2px solid #2B4254;
  padding: 1.25rem 1.25rem 1.25rem 50px;
  font-weight: 500;
  font-size: 1.125rem;
  position: relative;
  transform: translate(18px);
  background-color: #fff;
}
.section-steps .b-steps span {
  color: #2562AA;
  cursor: pointer;
}
.section-steps .b-steps span:hover {
  text-decoration: underline;
}
.section-steps .b-steps .step-img {
  position: absolute;
  left: -18px;
  top: -15px;
}
.section-diff .diff {
  gap: 2rem;
}
@media only screen and (min-width: 45em) {
  .section-diff .diff {
    gap: 3rem;
  }
}
@media only screen and (min-width: 60em) {
  .section-diff .diff {
    gap: 4rem;
  }
}
@media only screen and (min-width: 75em) {
  .section-diff .diff {
    gap: 5rem;
  }
}
.section-diff .diff .b-diff {
  border-radius: 2.5rem;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.07);
}
.section-diff .diff .b-diff:hover {
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
}
.section-diff .diff .b-diff img.diff-head {
  border-radius: 2.5rem;
  height: 20rem;
  width: 100%;
  object-fit: cover;
}
.section-diff .diff .b-diff h3 {
  margin: 2rem 0;
}
.section-diff .diff .b-diff h3 img {
  width: 42px;
  height: 42px;
  margin-right: 0.75rem;
}
.section-diff .diff .b-diff .b-diff-desc {
  padding: 0px 1rem 3.75rem;
}
@media only screen and (min-width: 33.75em) {
  .section-diff .diff .b-diff .b-diff-desc {
    padding: 0px 2.5rem 3.75rem;
  }
}
.section-diff .diff .b-diff p {
  font-weight: 500;
  font-size: 1.375rem;
  margin-bottom: 1.5rem;
}
.section-diff .diff .b-diff ul {
  margin-top: 1.5rem;
}
.section-diff .diff .b-diff-secondary {
  background-color: #F8F9FE;
  color: #2B4254;
}
.section-diff .diff .b-diff-primary {
  background-color: #2B4254;
  color: #fff;
}
.section-diff .diff .b-diff-primary h3, .section-diff .diff .b-diff-primary p, .section-diff .diff .b-diff-primary ul li {
  color: #fff;
}
.section-diff .diff .b-diff-primary button {
  width: 100%;
}
.section-footer {
  margin-top: 0;
  margin-bottom: 0;
}
.footer {
  height: 90px;
  display: none;
}
@media only screen and (min-width: 60em) {
  .hero, .header {
    flex-direction: row;
  }
  .worktime-info, footer {
    display: block;
  }
}
