.hero {
    background: url("/local/templates/rtg/images/bg-numbers.jpg");
    padding: 4rem 3rem;
}
.hero__title {
    color: white;
    font-family: "Unbounded", sans-serif;
    font-size: 1.9rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: color .2s ease-in-out;
    position: relative;
    padding-bottom: 1.4rem;
    hyphens: auto;
}
@media (min-width: 52rem) {
    .hero__title {
        font-size: 2.9rem;
        hyphens: none;
    }
}
.hero__title:after {
    content: '';
    display: block;
    width: 100%;
    height: .4rem;
    background: #4258e0;
    position: absolute;
    bottom: 0;
    left: 0;
}
.hero__subtitle {
    color: white;
    margin-top: 1.5rem;
    margin-bottom: 1.7rem;
    font-size: 1.1rem;
    max-width: 40rem;
    line-height: 1.4;
}
.hero__subtitle p:first-child {
    margin-top: 0;
}
.hero__subtitle p:last-child {
    margin-bottom: 0;
}
.hero__action {
    font-weight: bold;
    font-size: 1.2rem;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}

.typography {
    display: grid;
    gap: 1.8rem;
    font-size: 1.25rem;
}
.typography * {
    margin-top: 0;
    margin-bottom: 0;
}
.typography p {
    text-indent: .2rem;
    line-height: 1.4;
}
.typography ul {
    padding-left: 1.5rem;
}
.typography li {
    list-style: square;
    margin-bottom: .8rem;
}
.typography li::marker {
    color: #DA4381;
}

.hw-block {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.hw-block__preview {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.hw-block__img {
    width: 90%;
    height: 90%;
    object-fit: contain;
}
.hw-block__preview-description {
    max-width: 90%;
    margin-top: 2rem;
    padding: .7rem .9rem;
    background: #e8ebf0;
    font-size: .9rem;
}
.hw-block__content {
    width: 100%;
    /*border-left: .4rem solid #4258e0;*/
    box-sizing: border-box;
}
@media (min-width: 52rem) {
    .hw-block__preview {
        width: 35%;
    }
    .hw-block__content {
        width: 65%;
    }
}
@media (min-width: 52rem) {
    .hw-block__content {
        padding-left: 2rem;
    }
}
.hw-block_revert {
    flex-direction: row-reverse;
}
@media (min-width: 52rem) {
    .hw-block_revert {
        flex-direction: row;
    }
}
@media (min-width: 52rem) {
    .hw-block_revert .hw-block__content {
        border-left: 0;
        padding-left: 0;
        /*border-right: .4rem solid #4258e0;*/
        padding-right: 2rem;
    }
}


.hw-block__content-title {
    font-size: 1.5rem;
    margin-bottom: 1.4rem;
    padding-bottom: 1.4rem;
    font-family: "Unbounded", sans-serif;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: none;
    position: relative;
}
/*.hw-block__content-title:after {*/
/*    content: '';*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: .4rem;*/
/*    background: #4258e0;*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    left: 0;*/
/*}*/
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.table {
    width: 100%;
    border-collapse: collapse;
    border: 3px solid #4258e0;
    font-family: Arial, sans-serif;
}

.table thead {
    background-color: #4258e0;
    color: white;
}

.table th,
.table td {
    border: 3px solid #4258e0;
    padding: .8rem 1rem;
    text-align: left;
}

.table th {
    font-weight: bold;
}

.table tbody tr:hover {
    background-color: #e9ecef;
}

.block-related .catalog-card.vertical {
    display: flex;
}

.block-schemes__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}
.block-schemes__item {
    width: 100%;
    list-style: none;
}
.block-schemes__item:not(:last-child) {
    margin-bottom: 2rem;
}
@media (min-width: 52rem) {
    .block-schemes__item {
        width: 50%;
    }
}
.block-schemes__preview {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.block-schemes__preview:after {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 58%;
}
.block-schemes__scheme {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.block-schemes__description {
    width: 90%;
    margin: .5rem 5% 0 5%;
    padding: 1rem 1.4rem 1.1rem;
    background: #e8ebf0;
    font-size: .9rem;
    text-align: center;
}

.block-contact-us__content {
    margin-top: 3.2rem;
    margin-bottom: 3rem;
}
.contact-us__field-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.contact-us__field-group .input {
    width: 100%;
    margin-bottom: 1rem;
}
@media (min-width: 52rem) {
    .contact-us__field-group .input {
        width: calc(33.33333% - .7rem);
    }
}
.contact-us .textarea {
    margin-bottom: 1.4rem;
}
.contact-us {
    background: #e8ebf0;
    padding: 2rem;
}
.contact-us__privacy .checkbox:not(:last-child) {
    margin-bottom: .9rem;
}
.contact-us__actions {
    margin-top: 2rem;
}
.contact-us__action {
    padding-left: 2rem;
    padding-right: 2rem;
}
.block-faq__list {
    position: relative;
    padding: 3.2rem 2rem;
    overflow: hidden;
    background: #e8ebf0;
    list-style: none;
}
.block-faq__item:not(:last-child) {
    margin-bottom: 2rem;
}
.faq__question {
    color: #4258E0;
    font-family: "Unbounded", sans-serif;
    font-weight: 900;
    cursor: pointer;
    font-size: 1.45rem;
}
.faq__answer {
    margin-top: .9rem;
}

.block-steps__list {
    position: relative;
    padding: 4rem 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    overflow: hidden;
    background: url('/local/templates/rtg/images/bg-advantages.jpg') center / cover no-repeat;
    list-style: none;
}
@media (min-width: 52rem) {
    .block-steps__item {
        grid-template-columns: 1fr 1fr;
    }
}
.step {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.step__num {
    color: white;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #ffffff;
    border-radius: 50%;
    font-family: "Unbounded", sans-serif;
    font-weight: 900;
}
.step__content {
    width: calc(100% - 2.6rem);
    padding-left: 1rem;
}
.step__title {
    font-family: "Unbounded", sans-serif;
    font-weight: 900;
    color: #fff;
    font-size: 1.25rem;
}
.step__description {
    margin-top: .5rem;
    color: white;
    font-size: 1.125rem;
}
.block-strengths__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: block-counter;
}
.block-strengths__item {
    width: 100%;
    color: #000;
    background: #e8ebf0;
    padding: 2rem 1.5rem;
    position: relative;
    margin-bottom: 1rem;
    overflow: hidden;
}
@media (min-width: 38rem) {
    .block-strengths__item {
        width: calc(50% - .5rem);
    }
}
@media (min-width: 52rem) {
    .block-strengths__item {
        width: calc(33% - .5rem);
    }
}
.block-strengths__item:hover {
    color: #4258e0;
}
.block-strengths__description:after {
    counter-increment: block-counter;
    content: counter(block-counter);
    position: absolute;
    font-size: 10rem;
    bottom: -2rem;
    right: -2rem;
    line-height: 1;
    font-weight: 900;
    opacity: .1;
    font-family: "Unbounded", sans-serif;
}
.block-strengths__item:before,
.block-strengths__item:after {
    content: '';
    display: block;
    width: 100%;
    height: .4rem;
    position: absolute;
    left: 0;
    background: transparent;
}
.block-strengths__item:hover:before,
.block-strengths__item:hover:after {
    background: linear-gradient(161.03deg, #4258E0 28.68%, #da4381 81.32%);
}
.block-strengths__item:before {
    top: 0;
}
.block-strengths__title {
    font-family: "Unbounded", sans-serif;
    font-size: 1rem;
    font-weight: 900;
}
.block-strengths__item:after {
    bottom: 0;
}

@media (min-width: 1280px) {
    .production .container {
        padding-right: 0;
    }
}

.block-reviews__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
}
.block-reviews__item {
    margin-bottom: 1rem;
    width: 100%;
}
@media (min-width: 50rem) {
    .block-reviews__list_size_2 .block-reviews__item {
        width: calc(50% - .5rem);
    }
}
@media (min-width: 42rem) {
    .block-reviews__list_size_3 .block-reviews__item {
        width: calc(33% - .5rem);
        width: calc(50% - .5rem);
    }
}
@media (min-width: 52rem) {
    .block-reviews__list_size_3 .block-reviews__item {
        width: calc(33% - .5rem);
    }
}

.review-item {
    background-color: #e8ebf0;
    height: 100%;
    position: relative;
}
.review-item:before {
    top: 0;
}
.review-item:after {
    bottom: 0;
}
.review-item:before,
.review-item:after {
    content: '';
    display: block;
    width: 100%;
    height: .4rem;
    position: absolute;
    left: 0;
    background: transparent;
}
.review-item:hover:before,
.review-item:hover:after {
    background: linear-gradient(161.03deg, #4258E0 28.68%, #da4381 81.32%);
}
.review-item__header {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: flex-start;
}
.review-item__header .review-author {
    width: 100%;
    padding: 1.2rem 1.5rem 1rem;
    background: #4258e0;
}
.review-item__logo-wrapper {
    padding: 1rem 1.5rem 0;
}
.review-item__logo {
    max-width: 14rem !important;
    height: 3.5rem;
    object-fit: contain;
    margin-right: auto;
}
.review-item__review {
    font-size: 1.1rem;
    font-style: italic;
    text-indent: -.5rem;
    line-height: 1.5;
}
.review-item__review:before,
.review-item__review:after {
    font-size: 1.5em;
    color: #4258E0;
    font-family: Georgia, serif;
    line-height: 0;
    font-weight: bold;
}
.review-item__review:before {
    content: "“";
}
.review-item__review:after {
    content: "”";
}
.review-item__brand-wrapper {
    margin-bottom: 1.2rem;
}
.review-item__brand {
    font-family: "Unbounded", sans-serif;
    font-size: .87rem;
    font-weight: 900;
    position: relative;
    background: #4258E0;
    padding: .7rem 1rem .7rem 1.5rem;
    left: -1.5rem;
    color: white;
    display: inline-block;
}
.review-item:hover .review-item__brand {
    background: linear-gradient(111.07deg, #4258E0 28.77%, #DA4381 103.17%);
}
.review-item__content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.review-item__footer {
    margin-top: 1.5rem;
    padding: 0 1.5rem 1.3rem;
}
.review-item__footer-line:not(:last-child) {
    margin-bottom: .5rem;
}
.review-item__author {
    font-size: .92rem;
    font-weight: bold;
    margin-bottom: 1.3rem;
}
.review-item__date {
    font-size: .92rem;
}
.review-item__original {
    font-size: .92rem;
    color: #4258E0;
}
.review-item__original:hover {
    text-decoration: underline;
}

.review-author {
    position: relative;
    z-index: 30;
}
.block-reviews__item:hover .review-author {
    background: linear-gradient(111.07deg, #4258E0 28.77%, #DA4381 103.17%);
}
.review-author__header {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}
.review-author__photo {
    display: block;
    height: 5rem;
    width: 5rem;
    object-fit: cover;
    border-radius: 50%;
    margin-right: 1rem;
}
.review-author__name {
    font-family: "Unbounded", sans-serif;
    font-weight: 900;
    color: white;
    font-size: .95rem;
    line-height: 1.4rem;
}
.review-author__city {
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    color: white;
    font-size: .8rem;
}

.form {
    background: #e8ebf0;
    padding: 2rem;
}

.form__field-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.form__field-group .input {
    width: 100%;
    margin-bottom: 1rem;
}
@media (min-width: 50rem) {
    .form__field-group_size_2 .input {
        width: calc(50% - 1rem);
    }
    .form__field-group_size_3 .input {
        width: calc(33.33333% - .7rem);
    }
}
.form__privacy {
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
}
.form__actions {
    margin-top: 1.4rem;
}
.form__submit {
    padding-left: 2rem;
    padding-right: 2rem;
}
.form__text {
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
}
.form__text:first-child {
    margin-top: 0;
}
.form__text:last-child {
    margin-bottom: 0;
}
