﻿.about__info,
.directions__up,
header nav {
    display: -webkit-box;
    display: -ms-flexbox
}

.about__info,
.directions__item-text,
.directions__list,
.directions__up {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal
}

a,
button {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.header__link,
.header__title {
    font-family: "Unbounded Black"
}

.contact-text,
.footer__icon-text {
    white-space: nowrap;
    line-height: 100%
}

.callback-close:hover,
.callback__agree-inp:hover,
.callback__agree-text:hover,
.callback__submit:hover,
.contact-btn:hover,
.expert-callback-close:hover,
.expert-callback-file label:hover,
.expert-callback-smile label:hover {
    cursor: pointer
}

@font-face {
    font-family: 'TT Autonomous Trial';
    src: url('../fonts/TT\ Autonomous\ Trial\ Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: 'Unbounded Black';
    src: url('../fonts/Unbounded-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal
}

@font-face {
    font-family: 'Unbounded Bold';
    src: url('../fonts/Unbounded-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: 'Unbounded Regular';
    src: url('../fonts/Unbounded-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal
}

:root {
    --viol: #802CFF;
    --grey: #F2F0FF;
    --blue: #19D3CE;
    --green: #CAE851
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

a {
    color: inherit;
    text-decoration: none
}

ul {
    list-style-type: none
}

button {
    border: none
}

body {
    max-width: 1680px;
    margin: 0 auto;
    background-color: var(--grey)
}

.container {
    width: 100%;
    max-width: 85vw;
    margin: 0 auto
}

header .container {
    padding: 22px 0 0
}

header nav {
    background-color: var(--viol);
    border-radius: 27px;
    padding: 25px 40px 25px 35px;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.about__info,
.directions__up {
    -ms-flex-direction: column;
    flex-direction: column;
    display: flex
}

.directions__item-img,
.directions__list {
    display: -webkit-box;
    display: -ms-flexbox
}

.header__link {
    line-height: 100%;
    letter-spacing: 0;
    color: var(--green);
    border-bottom: 3px solid var(--green);
    padding-bottom: 6.5px;
    text-transform: uppercase
}

.about__heading,
.footer__link,
.footer__title span,
.header__title span {
    color: var(--viol)
}

.expert-callback-file input,
.header__content .header__link {
    display: none
}

.header__ball::after,
.header__ball::before {
    content: " ";
    max-width: 424px;
    max-height: 424px;
    display: block;
    border-radius: 100%;
    -webkit-filter: blur(46px);
    filter: blur(46px)
}

.header__content {
    padding: 80px 0 238px;
    position: relative
}

.header__title {
    letter-spacing: 0;
    font-size: 54px;
    max-width: 1050px;
    position: relative;
    z-index: 3
}

.about__heading,
.about__info span {
    font-family: 'Unbounded Black'
}

.about__heading,
.about__info {
    letter-spacing: 0
}

.header__ball,
.header__ball::after,
.header__bg img {
    position: absolute
}

.header__ball {
    right: 0;
    bottom: -46px;
    z-index: 2
}

.directions__up-bg,
.header__ball::after,
.header__ball::before {
    z-index: -1;
    width: 100%;
    height: 100%
}

.header__ball::before {
    background-color: var(--blue);
    position: absolute;
    top: 81px;
    left: -25px
}

.header__ball::after {
    background-color: var(--viol);
    right: 0;
    bottom: 0
}

.header__ball img {
    max-width: 500px
}

.header__bg img:first-child {
    top: 304px;
    left: 0;
    width: 300px
}

.header__bg img:nth-child(2) {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
    z-index: 3;
    width: 375px;
    top: 120px;
    right: -120px
}

.about .container {
    background-color: #fff;
    padding: 81px 62px 113px;
    border-radius: 46px;
    position: relative;
    z-index: 1
}

.about__heading {
    line-height: 100%;
    padding-bottom: 15px;
    width: 100%;
    border-bottom: 1px solid var(--viol);
    margin-bottom: 88px
}

.about__info {
    max-width: 1348px;
    font-family: 'Unbounded Regular';
    line-height: 124%;
    gap: 25px
}

.directions {
    -webkit-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
    margin-bottom: 37px
}

.directions__up {
    position: relative;
    border-radius: 0 0 39px 39px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-bottom: 31px;
    overflow: hidden;
    min-height: 640px
}

.directions__up-bg {
    position: absolute;
    bottom: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.directions__up-icon {
    position: absolute;
    top: 97px;
    right: 102px
}

.directions__up-title {
    border-radius: 39px;
    background-color: var(--viol);
    padding: 47px 58px
}

.directions__up-title-text {
    font-family: 'Unbounded Bold';
    line-height: 124%;
    letter-spacing: 0;
    color: #fff;
    text-transform: uppercase;
    font-size: 40px
}

.directions__list {
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 31px
}

.directions__item {
    background-color: #fff;
    padding: 46px;
    border-radius: 57px
}

.directions__item-inner {
    background-color: var(--grey);
    border-radius: 21px;
    position: relative;
    padding: 45px 55px 81px 95px;
    min-height: 594px;
    display: -ms-grid;
    display: grid;
    gap: 50px;
    overflow: hidden
}

.directions__item:nth-child(odd) .directions__item-inner {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr
}

.directions__item:nth-child(2n) .directions__item-inner {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto
}

.directions__item-img {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    position: relative;
    z-index: 3
}

.directions__item-img,
.directions__item-img img {
    width: 100%
}

.directions__item:nth-child(odd) .directions__item-text {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    -ms-grid-column-align: end;
    justify-self: end
}

.directions__item:nth-child(2n) .directions__item-img {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3
}

.directions__item:nth-child(2n) .directions__item-text {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2
}

.directions__item-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 730px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.directions__item-number {
    font-family: 'TT Autonomous Trial';
    font-weight: 400;
    font-size: 58px;
    line-height: 112%;
    letter-spacing: 0;
    padding-bottom: 2px;
    border-bottom: 1px solid #000;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.directions__item-title {
    font-family: 'Unbounded Bold';
    text-transform: uppercase;
    line-height: 124%;
    letter-spacing: -5%;
    margin-bottom: 36px
}

.directions__item-info {
    font-family: 'Unbounded Regular';
    font-weight: 400;
    font-size: 20px;
    line-height: 124%;
    letter-spacing: 0
}

.footer__card-subtitle,
.footer__card-title,
.footer__title {
    font-family: 'Unbounded Bold';
    letter-spacing: 0
}

.directions__item-bg {
    position: absolute;
    top: 10%;
    left: 50%;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.contact-list,
.footer__icon-text {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 0
}

.directions__item:nth-child(2) .directions__item-bg {
    top: 20%;
    left: 40%;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0)
}

.directions__item:nth-child(3) .directions__item-bg {
    top: 20%;
    left: auto;
    right: 20%;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    width: 440px
}

.directions__item:nth-child(4) .directions__item-bg {
    top: 20%;
    left: 30%;
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
    width: 440px
}

.directions__item:nth-child(5) .directions__item-bg {
    top: 10%;
    left: auto;
    right: 15%;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    width: 452px
}

.directions__item:nth-child(6) .directions__item-bg {
    top: 15%;
    left: 40%;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    width: 424px
}

footer {
    padding-bottom: 50px
}

footer .container {
    background-color: var(--viol);
    padding: 46px 49px;
    border-radius: 78px
}

.footer__cards {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 15px 1fr 15px 1fr 15px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 14px
}

.footer__card {
    background-color: #fff;
    border-radius: 37px;
    padding: 31px;
    overflow: hidden
}

.footer__card:first-child {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    background-color: var(--grey);
    border-radius: 43px;
    position: relative;
    height: 100%;
    min-height: auto;
    padding: 100px 73px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end
}

.footer__ball::after,
.footer__ball::before {
    content: " ";
    display: block;
    z-index: -1;
    border-radius: 100%;
    -webkit-filter: blur(46px);
    filter: blur(46px);
    max-width: 250px;
    max-height: 250px
}

.callback__agree,
.contact .container,
.contact-btn,
.contact-item,
.contact-list,
.expert-callback__bottom,
.expert-callback__content,
.expert-callback__up,
.footer__bottom,
.footer__icon,
.footer__icons,
.footer__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: flex
}

.footer__card-title {
    line-height: 124%;
    position: relative;
    z-index: 2;
    max-width: 437px
}

.directions__item-title,
.footer__card-title {
    font-size: 44px
}

.footer__card-bg {
    position: absolute;
    top: 58px;
    right: 131px;
    max-width: 250px
}

.footer__card-icon {
    max-width: 76px;
    margin-bottom: 60px
}

.footer__card-subtitle {
    font-size: 16px;
    line-height: 142%;
    position: relative;
    /* word-break: break-word; */
}

.footer__card-subtitle::before {
    content: " ";
    width: 76px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: -33px
}

.footer__wrapper {
    padding: 49px 82px 58px;
    background: var(--grey);
    border-radius: 44px;
    position: relative
}

.footer__logo {
    margin-bottom: 205px
}

.footer__ball {
    position: absolute;
    right: 0;
    top: -80px;
    z-index: 2
}

.footer__ball::before {
    width: 100%;
    height: 100%;
    background-color: var(--viol);
    position: absolute;
    top: 50px;
    left: 50px
}

.footer__ball::after {
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    position: absolute;
    right: -10px;
    bottom: 70px
}

.footer__bg {
    position: absolute;
    top: 161px;
    left: 82px;
    width: 300px
}

.contact .container,
.footer__icon {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal
}

.footer__title {
    font-size: 48px;
    line-height: 124%;
    margin-bottom: 85px
}

.footer__bottom {
    border-top: 1px solid #100225;
    width: 100%;
    padding-top: 49px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.footer__icons {
    gap: 13px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.footer__icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column
}

.footer__icon a {
    pointer-events: auto
}

.footer__icon-text {
    font-family: 'Unbounded Regular';
    font-weight: 400;
    font-size: 10px;
    letter-spacing: 5%;
    padding: 8px 14px 9px;
    background-color: #fff;
    border-radius: 19px;
    position: absolute;
    bottom: 0;
    text-align: center;
    -webkit-transition: opacity .3s, -webkit-transform .4s;
    transition: transform .4s, opacity .3s, -webkit-transform .4s;
    -o-transition: transform .4s, opacity .3s;
    pointer-events: none;
    z-index: 10
}

.contact,
.contact-btn {
    bottom: 40px;
    width: 100%
}

.footer__icon:hover .footer__icon-text {
    -webkit-transform: translateY(-60px);
    -ms-transform: translateY(-60px);
    transform: translateY(-60px);
    opacity: 1
}

.footer__icon img {
    max-width: 44px
}

.footer__link {
    font-family: 'Unbounded Black';
    font-weight: 900;
    line-height: 100%;
    letter-spacing: 0;
    text-transform: uppercase;
    border-bottom: 3px solid var(--viol);
    padding-bottom: 6.5px
}

.contact {
    position: fixed;
    z-index: 4;
    pointer-events: none;
    max-width: 1680px
}

.contact .container {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 auto;
    pointer-events: none
}

.contact-btn {
    position: absolute;
    right: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px;
    max-width: 58px;
    max-height: 58px;
    height: 100%;
    -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, .7);
    box-shadow: 0 0 30px rgba(0, 0, 0, .7);
    background-color: var(--viol);
    border-radius: 100%;
    -webkit-transition: background-color .3s;
    -o-transition: background-color .3s;
    transition: background-color .3s;
    pointer-events: auto
}

.contact-btn.active,
.contact-btn.close,
.contact-text {
    background-color: #fff
}

.callback,
.contact-list,
.contact-text {
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s;
    -o-transition: opacity .3s, transform .3s
}

.contact-btn img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.contact-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 15px;
    pointer-events: none;
    margin: 0 6.5px;
    padding-bottom: 24px
}

.contact-list.visible {
    opacity: 1;
    -webkit-transform: translateY(calc(-46px - 50px));
    -ms-transform: translateY(calc(-46px - 50px));
    transform: translateY(calc(-46px - 50px));
    pointer-events: auto
}

.contact-item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin: 0;
    gap: 10px
}

.contact-link img {
    max-width: 46px
}

.contact-text {
    font-family: 'Unbounded Regular';
    font-weight: 400;
    font-size: 10px;
    letter-spacing: 5%;
    text-transform: lowercase;
    padding: 8px 14px 8px 16px;
    border-radius: 19px;
    opacity: 0;
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px)
}

.callback-title,
.callback__submit,
.expert-callback-title {
    line-height: 124%;
    letter-spacing: 0
}

.callback,
.expert-callback {
    right: 40px;
    bottom: 240px;
    z-index: 5;
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    pointer-events: none;
    -webkit-box-shadow: -9px 7px 17.7px -9px #00000091;
    box-shadow: -9px 7px 17.7px -9px #00000091
}

.contact-item:hover .contact-text {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.callback {
    position: fixed;
    background-color: var(--green);
    padding: 14px;
    max-width: 451px;
    border-radius: 18px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: right
}

.callback.visible,
.expert-callback.visible {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto
}

.callback-close {
    padding: 18px;
    max-width: 58px;
    max-height: 57px;
    background-color: #fff;
    border-radius: 100%;
    margin-bottom: 16px
}

.callback-info,
.callback-title {
    margin-bottom: 18px;
    text-align: left
}

.callback-close img,
.expert-callback-close img {
    max-width: 21px
}

.callback-title {
    font-family: 'Unbounded Bold';
    font-size: 27px
}

.callback-info,
.callback__agree-text,
.callback__input,
.expert-callback-subtitle,
.expert-callback__textarea {
    font-family: 'Unbounded Regular';
    font-weight: 400;
    line-height: 124%;
    letter-spacing: 0
}

.callback-info,
.callback__input,
.footer__link,
.header__link {
    font-size: 18px
}

.callback__form {
    padding: 0 40px 32px
}

.callback__input {
    margin-bottom: 16px;
    padding: 26px 38px 25px;
    border-radius: 14px;
    border: 2px solid transparent
}

.callback__input::-webkit-input-placeholder {
    color: #c5c5c5
}

.callback__input::-moz-placeholder {
    color: #c5c5c5
}

.callback__input:-ms-input-placeholder {
    color: #c5c5c5
}

.callback__input::-ms-input-placeholder {
    color: #c5c5c5
}

.callback__input::placeholder {
    color: #c5c5c5
}

.callback__input:nth-child(2) {
    margin-bottom: 10px
}

.callback__input.error-border {
    border: 2px solid red
}

.callback__agree {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 28px;
    width: 100%;
    gap: 32px
}

.expert-callback,
.expert-callback__content {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal
}

.callback__agree-inp {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 59px;
    height: 38px;
    border-radius: 8px;
    cursor: pointer;
    position: relative;
    background-color: #fff
}

.callback__agree-inp:checked::after {
    content: url("../img/plus.svg");
    position: absolute;
    top: 60%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 22px
}

.callback__agree-text {
    font-size: 14px;
    text-align: left;
    white-space: normal
}

.callback__submit,
.expert-callback-title {
    font-weight: 700;
    text-transform: uppercase
}

.callback__agree-text a {
    color: var(--viol);
    text-decoration: underline
}

.callback__submit {
    background-color: #a68da5;
    width: 100%;
    padding: 24px 31px;
    font-family: 'Unbounded Bold';
    font-size: 22px;
    border-radius: 13px;
    color: #fff;
    white-space: nowrap;
    -webkit-transition: background-color .3s;
    -o-transition: background-color .3s;
    transition: background-color .3s
}

.callback__submit:not(:disabled) {
    background-color: var(--viol)
}

.callback__submit:disabled:hover {
    cursor: not-allowed
}

.error {
    color: var(--green);
    font-family: 'Unbounded Regular';
    font-size: 14px;
    margin-bottom: 10px
}

.error.visible {
    color: red
}

.error.hidden {
    color: var(--green)
}

.expert-callback {
    position: fixed;
    background-color: var(--green);
    padding: 23px;
    max-width: 451px;
    border-radius: 18px;
    flex-direction: column;
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s;
    -o-transition: opacity .3s, transform .3s;
    text-align: right;
    width: 100%
}

.expert-callback__up {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    margin-bottom: 16px
}

.expert-callback-close {
    padding: 18px;
    max-width: 58px;
    max-height: 57px;
    background-color: #fff;
    border-radius: 100%
}

.expert-callback__content {
    text-align: center;
    flex-direction: column
}

.expert-callback-title {
    font-family: 'Unbounded Bold';
    font-size: 23px;
    padding-bottom: 10px
}

.expert-callback-subtitle {
    font-size: 17px;
    color: #727272
}

.expert-callback__content-up {
    background-color: var(--grey);
    border-radius: 8px 8px 0 0;
    min-height: 336px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.expert-callback__icon {
    margin: 20px auto
}

.expert-callback__icon img {
    width: 52px;
    height: 52px
}

.expert-callback__textarea {
    width: 100%;
    height: 100px;
    font-size: 12px;
    padding: 18px;
    border: 2px solid transparent;
    resize: none;
    color: #000;
    min-height: 136px
}

.expert-callback__textarea::-webkit-input-placeholder {
    color: #c5c5c5
}

.expert-callback__textarea::-moz-placeholder {
    color: #c5c5c5
}

.expert-callback__textarea:-ms-input-placeholder {
    color: #c5c5c5
}

.expert-callback__textarea::-ms-input-placeholder {
    color: #c5c5c5
}

.expert-callback__textarea::placeholder {
    color: #c5c5c5
}

.expert-callback__bottom {
    background-color: #fff;
    border-radius: 0 0 8px 8px;
    padding: 12px 20px 11px;
    border-top: 1px solid #c5c5c5;
    gap: 12px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.footer__ball img,
.footer__logo img,
.header__logo img {
    max-width: 400px
}

.about__heading,
.about__info {
    font-size: 22px
}

@media (max-width:1440px) {

    .footer__logo img,
    .header__logo img {
        max-width: 300px
    }

    .callback-info,
    .footer__link,
    .header__link {
        font-size: 16px
    }

    header .container {
        padding: 12px 0 0
    }

    .header__ball img {
        max-width: 450px
    }

    .header__title {
        font-size: 48px;
        max-width: 900px
    }

    .header__ball {
        right: 0;
        bottom: -46px
    }

    .header__content img {
        max-width: 400px
    }

    .header__ball::after,
    .header__ball::before {
        max-width: 300px;
        max-height: 300px
    }

    .header__content {
        padding: 80px 0 208px
    }

    .header__bg img:first-child {
        top: 284px;
        left: 0;
        width: 260px
    }

    .header__bg img:nth-child(2) {
        width: 300px;
        top: 120px;
        right: -100px
    }

    .about .container {
        padding: 61px 42px 103px
    }

    .directions__up {
        min-height: 540px
    }

    .directions__up-icon {
        position: absolute;
        top: 77px;
        right: 82px
    }

    .directions__up-title-text {
        font-size: 36px
    }

    .directions__up-title {
        padding: 42px
    }

    .about__heading,
    .about__info,
    .callback__submit,
    .expert-callback-title {
        font-size: 20px
    }

    .about__heading {
        margin-bottom: 68px
    }

    .directions__item-number {
        font-size: 52px
    }

    .directions__item-title {
        font-size: 42px
    }

    .directions__item-bg {
        max-width: 320px;
        max-height: 360px
    }

    .directions__item-info {
        font-size: 18px
    }

    .footer__card-title {
        font-size: 40px
    }

    .footer__title {
        font-size: 44px
    }

    .footer__logo {
        margin-bottom: 205px
    }

    .footer__bg {
        top: 141px;
        left: 82px;
        width: 250px
    }

    .footer__ball img {
        max-width: 350px
    }

    .footer__wrapper {
        padding: 49px 82px 58px
    }

    .footer__card-icon {
        max-width: 48px
    }

    .directions__item {
        padding: 38px
    }

    .directions__item-inner {
        padding: 40px 50px 51px;
        min-height: 494px
    }

    .directions__item-img img {
        width: 75%
    }

    .contact {
        bottom: 0
    }

    .footer__card:first-child {
        padding: 80px 53px
    }

    .callback,
    .expert-callback {
        bottom: 40px
    }

    .callback-title {
        font-size: 24px
    }

    .callback__input {
        padding: 17px 26px;
        width: 100%;
        font-size: 16px
    }

    .callback__agree-inp {
        width: 44px;
        height: 28px
    }

    .callback-close,
    .expert-callback-close {
        max-width: 50px;
        max-height: 50px;
        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;
        -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
        -ms-grid-column-align: end;
        justify-self: end
    }

    .expert-callback-subtitle {
        font-size: 15px
    }

    .expert-callback__content-up {
        min-height: 280px
    }

    .expert-callback__textarea {
        min-height: 100px
    }

    .contact-btn {
        bottom: 50px;
        max-width: 48px;
        max-height: 48px
    }

    .contact-list {
        margin-right: 0
    }
}

@media (max-width:1160px) {
    .header__ball img {
        max-width: 400px
    }

    .header__ball::after,
    .header__ball::before {
        max-width: 300px;
        max-height: 300px
    }

    header nav {
        padding: 20px 35px 20px 30px
    }

    .directions__up-icon {
        width: 100px
    }

    .directions__item:nth-child(2n) .directions__item-inner,
    .directions__item:nth-child(odd) .directions__item-inner,
    .footer__cards {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr
    }

    .directions__item-img {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: start
    }

    .directions__item-img img {
        max-width: 300px
    }

    .directions__item:nth-child(odd) .directions__item-text {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
        -ms-grid-column-align: start;
        justify-self: start
    }

    .directions__item-number {
        position: absolute;
        top: 50px;
        right: 0;
        padding-right: 50px;
        padding-bottom: 15px
    }

    .directions__item-bg {
        max-width: 260px;
        max-height: 300px;
        top: 45%;
        left: 60%
    }

    .directions__item:nth-child(2n) .directions__item-img {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2
    }

    .directions__item:nth-child(2n) .directions__item-text {
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }

    .directions__item:nth-child(2n) .directions__item-img,
    .directions__item:nth-child(2n) .directions__item-text {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: end;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: end
    }

    .directions__item:nth-child(2n) .directions__item-number {
        left: 0;
        padding-right: 0;
        padding-left: 42px
    }

    .directions__item-inner {
        gap: 30px;
        padding: 40px 50px 51px
    }

    .footer__card:first-child {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2;
        min-height: 400px
    }

    .footer__card-bg {
        -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        transform: rotate(270deg);
        max-width: 230px;
        top: 0;
        left: 30%
    }

    .footer__card-icon {
        margin-bottom: 70px
    }

    .footer__card-subtitle {
        text-transform: uppercase
    }

    .footer__title {
        font-size: 40px
    }
}

@media (max-width:1024px) {
    .footer__ball img {
        max-width: 300px
    }

    .footer__ball::after,
    .footer__ball::before {
        max-width: 200px;
        max-height: 200px
    }

    .header__title {
        font-size: 40px;
        max-width: 800px
    }

    .directions__item-title,
    .footer__title {
        font-size: 36px
    }

    .footer__card-title {
        font-size: 32px
    }

    .callback,
    .expert-callback {
        left: 0;
        right: 0;
        margin: 0 auto
    }

    .bcg {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        background-color: #fffFFFCF;
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity .3s, -webkit-transform .3s;
        transition: opacity .3s, transform .3s, -webkit-transform .3s;
        -o-transition: opacity .3s, transform .3s;
        z-index: 3
    }

    .footer-imgs,
    .footer__ball {
        position: relative
    }

    .bcg.visible {
        opacity: 1;
        pointer-events: auto
    }

    .footer__card-bg {
        width: 180px;
        left: 35%
    }

    .footer__wrapper {
        padding: 40px 62px 48px
    }

    .footer__ball {
        right: -10%;
        top: -60px
    }

    .footer__ball::after {
        right: 180px
    }

    .footer__ball::before {
        left: 10px
    }

    .footer__logo {
        margin-bottom: 65px
    }

    .footer__bg {
        z-index: 4;
        top: auto;
        left: auto;
        bottom: 60px;
        width: 150px
    }

    .footer__bottom,
    nav .header__link {
        display: none
    }

    .footer__title {
        margin-bottom: 0
    }

    .header__content .header__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        color: var(--viol);
        border-block-color: var(--viol);
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: 45px;
        padding-bottom: 6px
    }

    .directions__item-info {
        font-size: 16px
    }

    .contact-btn {
        bottom: 100px;
        max-width: 65px;
        max-height: 65px;
        margin-right: 20px;
        padding: 18px
    }

    .contact-list {
        margin-right: 30px
    }

    .contact-list.visible {
        -webkit-transform: translateY(calc(-55px - 100px));
        -ms-transform: translateY(calc(-55px - 100px));
        transform: translateY(calc(-55px - 100px))
    }

    .contact .container {
        max-width: 100%
    }
}

@media (max-width:768px) {
    .header__title {
        font-size: 36px;
        word-break: break-word
    }

    .header__content {
        padding: 40px 30px 228px
    }

    .header__bg img:first-child,
    .header__bg img:nth-child(2) {
        display: none
    }

    .directions__item-img img {
        max-width: 250px
    }

    .directions__item-number {
        font-size: 48px
    }

    .directions__item-title {
        margin-bottom: 18px;
        font-size: 30px
    }

    .directions__item-bg {
        max-width: 200px;
        top: 40%;
        left: auto;
        right: 40px
    }

    .directions__item:nth-child(2) .directions__item-bg {
        top: 40%;
        left: 30px;
        -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0)
    }

    .directions__item:nth-child(3) .directions__item-bg {
        top: 40%;
        left: auto;
        right: 0;
        -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        transform: rotate(270deg);
        width: 440px
    }

    .directions__item:nth-child(4) .directions__item-bg {
        top: 30%;
        left: 20px;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        width: 160px
    }

    .directions__item:nth-child(5) .directions__item-bg {
        top: 30%;
        left: auto;
        right: 0;
        -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        transform: rotate(270deg);
        width: 152px
    }

    .directions__item:nth-child(6) .directions__item-bg {
        top: 25%;
        left: 50px;
        -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0);
        width: 154px
    }

    .directions__item-inner {
        padding: 40px 50px 51px;
        gap: 50px
    }

    .directions {
        margin-bottom: 10px
    }

    .footer__wrapper {
        padding: 30px 52px 38px
    }

    .header__ball img {
        max-width: 350px
    }

    .header__ball::after,
    .header__ball::before {
        max-width: 250px;
        max-height: 250px
    }
}

@media (max-width:650px) {
    .directions__item-img img {
        max-width: 200px
    }

    .directions__item-title {
        font-size: 24px
    }

    .callback-info,
    .directions__item-info {
        font-size: 14px
    }

    .directions__item-number {
        padding-right: 30px;
        font-size: 36px
    }

    .directions__item-inner {
        padding: 7px 30px 30px
    }

    .directions__item:nth-child(2n) .directions__item-number {
        padding-left: 30px
    }

    .directions__list {
        gap: 7px
    }

    footer .container {
        padding: 18px;
        border-radius: 26px
    }

    .footer__cards {
        gap: 6px
    }

    .footer__card,
    .footer__card:first-child {
        border-radius: 13px;
        padding: 20px 26px 40px
    }

    .footer__card-title {
        font-size: 26px
    }

    .footer__card:first-child {
        min-height: 210px
    }

    .footer__card-bg {
        width: 150px;
        left: 35%
    }

    .footer__title {
        font-size: 28px
    }

    .contact {
        bottom: 0
    }

    .callback,
    .container,
    .expert-callback {
        max-width: 90vw
    }

    .footer__wrapper {
        border-radius: 13px
    }

    .footer__ball {
        position: relative;
        right: auto;
        top: auto;
        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
    }

    .footer__ball::after {
        right: 10px
    }

    .footer__logo {
        margin-bottom: 15px
    }

    .footer__bg {
        bottom: -20px
    }

    .footer-imgs {
        margin-bottom: 30px
    }

    .footer__logo img {
        max-width: 247px
    }

    footer {
        padding-bottom: 20px
    }

    .callback-title {
        font-size: 20px
    }

    .callback-close,
    .expert-callback-close {
        max-width: 48px;
        max-height: 48px
    }

    .callback__form {
        padding: 0 37px 32px
    }

    .callback__agree-text {
        font-size: 12px
    }
}

@media (max-width:500px) {

    .callback,
    .container,
    .expert-callback {
        max-width: 95vw;
    }

    .header__logo img {
        max-width: 266px
    }

    header nav {
        padding: 12px 30px 15px;
        border-radius: 10px
    }

    .header__content {
        padding: 24px 30px 85px
    }

    .footer__title,
    .header__title {
        font-size: 23px
    }

    .header__ball img {
        max-width: 180px
    }

    .header__ball::after,
    .header__ball::before {
        max-width: 100px;
        max-height: 100px
    }

    .header__ball::before {
        top: 10px;
        left: 0
    }

    .header__content .header__link {
        font-size: 14px
    }

    .about .container {
        border-radius: 17px 17px 0 0;
        padding: 30px 30px 46px
    }

    .about__heading {
        margin-bottom: 36px;
        padding-bottom: 8px
    }

    .directions__up {
        min-height: 245px;
        border-radius: 0 0 11px 11px;
        margin-bottom: 9px
    }

    .directions__up-icon {
        width: 52px;
        right: 26px;
        top: 62px
    }

    .directions__up-title-text {
        font-size: 20px
    }

    .directions__up-title {
        padding: 26px 15px;
        border-radius: 11px
    }

    .directions__item {
        border-radius: 27px;
        padding: 19px
    }

    .directions__item-inner {
        border-radius: 15px
    }

    .footer__wrapper {
        padding: 20px 26px 30px
    }

    .contact-list.visible {
        -webkit-transform: translateY(calc(-60px - 100px));
        -ms-transform: translateY(calc(-60px - 100px));
        transform: translateY(calc(-60px - 100px));
        padding-bottom: 18px
    }

    .callback,
    .expert-callback {
        top: calc((100% - 532px)/ 2);
        bottom: auto;
        margin: 0 auto
    }

    .callback__form {
        padding: 0 27px 32px
    }

    .callback-title {
        font-size: 18px
    }

    .about__heading,
    .about__info,
    .callback__submit,
    .expert-callback-title {
        font-size: 14px
    }
}

@media (max-width:410px) {
    .footer__card-title {
        font-size: 22px
    }

    .about__info {
        text-align: justify
    }

    .directions__item-img img {
        max-width: 150px
    }

    .directions__item-title {
        font-size: 20px;
        word-wrap: break-word
    }

    .directions__item:nth-child(odd) .directions__item-img {
        -webkit-transform: translateX(-15px);
        -ms-transform: translateX(-15px);
        transform: translateX(-15px)
    }

    .directions__item:nth-child(2n) .directions__item-img {
        -webkit-transform: translateX(15px);
        -ms-transform: translateX(15px);
        transform: translateX(15px)
    }

    .callback-info,
    .directions__item-info {
        word-wrap: break-word;
        font-size: 13px
    }

    .footer__card-subtitle {
        font-size: 14px
    }

    .footer__card-bg {
        right: 0;
        left: 70px
    }

    .footer__ball img {
        max-width: 260px
    }

    .footer__ball::after,
    .footer__ball::before {
        max-width: 160px;
        max-height: 160px
    }
}

@media (max-width:430px) {
    .header__content {
        padding: 20px 15px 75px;
    }

    .about .container {
        padding: 20px 20px 30px;
    }

    .directions__up-title {
        padding: 20px 15px;
        border-radius: 11px;
    }

    .directions__item-inner {
        padding: 7px 20px 20px;
    }

    .footer__card,
    .footer__card:first-child {
        padding: 15px 20px 30px;
    }

    header nav {
        padding: 12px 20px 15px;
    }

    .footer__wrapper {
        padding: 20px 20px 25px;
    }

    .header__logo img {
        max-width: 236px;
    }
}