.b-container,  
body  {
    flex-direction: column
}

.b-container, 
.b-container-wide {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    box-sizing: border-box
}

.b-contacts__items, 
.b-container, 
.b-container-wide {
    position: relative
}

.b-text a:focus, 
.b-text a:hover, 
a {
    text-decoration: none
}

body {
    line-height: 1;
    display: flex;
    min-height: 100vh;
    min-height: 100%;
    min-width: 320px;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html.window-is-locked, html.window-is-locked body {
    overflow: hidden;
    touch-action: none
}

html {
    height: 100%;
    scroll-behavior: smooth
}

html.no-smooth-scroll {
    scroll-behavior: unset
}

#svgSprite {
    position: absolute;
    top: 0;
    left: 0
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes slideDownUp {
    0% {
        transform: translateY(100%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes slideDownUp {
    0% {
        transform: translateY(100%)
    }

    to {
        transform: translateY(0)
    }
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/inter-regular.woff") format("woff"), url("../fonts/inter-regular.woff2") format("woff2");
    font-display: fallback;
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/inter-semiBold.woff") format("woff"), url("../fonts/inter-semiBold.woff2") format("woff2");
    font-display: fallback;
}

.b-container {
    max-width: 1120px;
    display: flex;
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (max-width: 1119px) {
    .b-container, .b-header__inner {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media only screen and (min-width: 1120px) {
    .b-container {
        overflow-x: hidden
    }
}

@media only screen and (min-width: 1200px) {
    .b-container {
        padding-left: 0;
        padding-right: 0;
        overflow-x: visible
    }
}

.b-container-wide {
    max-width: 1440px
}

.b-content {
    display: flex;
    flex-direction: column;
    flex: auto
}

.b-accent-primary {
    background-color: #c41d4c
}

.b-accent-secondary {
    background-color: #f2f2f2
}

.text-accent {
    color: #c41d4c
}

.hide {
    display: none!important
}

.tac {
    text-align: center
}

.mb-10 {
    margin-bottom: 10px
}

.mb-30 {
    margin-bottom: 30px
}

.ml-10 {
    margin-left: 10px
}

.mr-10 {
    margin-right: 10px
}

.mb-60 {
    margin-bottom: 60px
}

.ptb-40 {
    padding-top: 40px;
    padding-bottom: 40px
}

.bold {
    font-weight: 700
}

.b-title-h1, .b-title-h2 {
    font-family: Inter, sans-serif;
    font-weight: 600
}

.invisible {
    visibility: hidden
}

.gray-background {
    background-color: #f2f2f2;
}

.b-title-h1 {
    font-size: 35px;
    line-height: 45px;
    letter-spacing: -1.5px;
    color: #1d1e18
}

.b-title-h2 {
    font-size: 26px;
    line-height: 40px;
    letter-spacing: -1.5px
}

.b-text, .b-text small {
    font-family: Inter, sans-serif;
    font-weight: 400
}

.b-text {
    font-size: 18px;
    line-height: 32px;
    letter-spacing: -.3px
}

.b-text small {
    font-size: 15px;
    line-height: 22px;
    letter-spacing: -.1px
}

.b-text a {
    line-height: 32px;
    font-family: Inter, sans-serif
}

.b-text b, .b-text strong {
    font-weight: 700!important
}

.b-text a {
    font-size: 18px;
    color: inherit;
    text-decoration: underline
}

.b-text-container {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 30px;
    max-width: 870px;
}

.b-link {
    color: inherit;
    transition: color .2s ease;
}

.b-link:active,
.b-link:hover,
.b-link:focus {
    color: #c41d4c;
}

.b-list {
    list-style-type: unset;
    margin-left: 30px;
}

.b-list_ordered {
    list-style-type: decimal;
}

@-webkit-keyframes oppa {
    0% {
        opacity: 0;
        transform: translateX(20px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes oppa {
    0% {
        opacity: 0;
        transform: translateX(20px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.b-contacts, 
.b-contacts__item, 
.b-main-hero__text, 
.b-main-services__items {
    display: flex;
    flex-direction: column
}

.b-contacts {
    flex-direction: column;
}

.b-contacts__title {
    margin-bottom: 24px;
    text-transform: uppercase;
}

.b-contacts__title_white {
    color: #fff;
}

.b-contacts__items {
    flex-shrink: 0;
    width: 100%;
    margin-top: 36px;
}

.b-contacts__item:not(:last-of-type):after {
    content: "";
    opacity: .3;
    width: 80px;
    height: 1px;
    background-color: #1d1e18;
    margin-top: 20px;
    margin-bottom: 20px
}

.b-contacts__item_white:not(:last-of-type):after {
    background-color: #f7f7f7;
}

.b-contacts__item-title {
    font-size: 11px;
    font-family: Inter, sans-serif;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 20px
}

.b-contacts__item-title_white {
    color: #f7f7f7;
}

.b-contacts__item-value {
    font-size: 22px;
    font-family: Inter, sans-serif;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: -.2px;
}

.b-contacts__item-value_white {
    color: #fff;
}

.b-contacts__map {
    display: block;
    width: 670px;
    height: 360px;
    object-fit: cover;
    object-position: left;
}

.b-header {
    position: relative;
    z-index: 30;
    display: flex;
    flex-direction: column
}

.b-header__inner {
    width: 100%;
    max-width: 1120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    margin: 20px auto
}

.b-logo {
    z-index: 3;
    display: flex;
    align-items: center;
    margin-right: auto;
    width: 160px;
}

@media screen and (min-width: 768px) {
   .b-logo {
        width: 180px;
    }    
}

.b-logo_link {
    transition: opacity .3s ease;
}

.b-logo_link:hover,
.b-logo_link:focus, 
.b-logo_link:active {
    opacity: 0.7;
}

.b-logo__icon {
    width: 46px;
    height: 46px;
    margin-right: 12px;
    fill: #1d1e18;
}

.b-logo__text {
    font-size: 32px;
    font-weight: 700;
    font-family: Inter, sans-serif;
    color: #1d1e18;
}

.b-logo__text_additional {
    display: block;
    color: #5e5e5e;
    font-size: 12px;
    font-weight: 400;
}

.b-nav {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: #1d1e18;
}

.b-nav__burger {
    position: relative;
    z-index: 4;
    padding: 10px;
    background-color: transparent;
    border: none;
}

.b-nav__icon {
    width: 24px;
    height: 24px;
}

.b-nav__burger .b-nav__icon_burger {
    display: block;
}

.b-nav__burger .b-nav__icon_close {
    display: none;
}

.b-nav__burger.is-active .b-nav__icon_burger {
    display: none;
}

.b-nav__burger.is-active .b-nav__icon_close {
    display: block;
}

.b-nav__list {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 40px 20px;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0 0 20px rgb(139, 139, 139);
    transform: translateX(120%);
    transition: transform ease .5s;
}

.is-active {
    transform: translateX(0);
}

.b-nav__link {
    position: relative;
    color: inherit;
}

.b-nav__link_active {
    cursor: default;
    pointer-events: none;
}

.b-nav__link::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: #3b3d38;
    transition: .3s width ease-in-out;
}

.b-nav__link_active::after {
    width: 100%;
    background-color: #c41d4c;
}

.b-nav__link:hover::after,
.b-nav__link:active:after,
.b-nav__link:focus::after {
    width: 100%;
}

.b-main-hero {
    margin-top: -90px
}

.b-main-hero__inner {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    padding-top: 110px;
    padding-bottom: 60px
}

.b-main-hero__text .b-text {
    color: #52567a
}

.b-main-hero__img {
    max-width: 510px;
    border-radius: 36px;
}

.b-main-services {
    position: relative
}

.b-main-services__inner {
    z-index: 2;
    padding-top: 60px
}

.b-main-services__title {
    text-align: center;
    margin-bottom: 60px
}

.b-main-services__item {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px
}

.b-main-services__item-title {
    color: #1d1e18;
    margin-bottom: 16px
}

.b-main-services__item-title:before {
    content: "";
    display: block;
    margin-bottom: 24px;
    width: 100px;
    height: 3px;
    background-color: #c41d4c
}

.b-main-services__item-info {
    width: 100%;
    color: #52567a
}

@media only screen and (max-width: 767px) {
    .b-contacts__item-value {
        font-size: 18px;
        font-family: Inter, sans-serif;
        font-weight: 400;
        line-height: 32px;
        letter-spacing: -.3px
    }

    .b-main-services__inner {
        padding-left: 0;
        padding-right: 0
    }

    .b-main-services__item-info, .b-main-services__title {
        padding-left: 20px;
        padding-right: 20px
    }
}

.b-main-services__item-text {
    margin-bottom: 60px
}

.b-main-services__item-img {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-filter: drop-shadow(6px 6px 10px #e5e5e5);
    -moz-filter: drop-shadow(6px 6px 10px #e5e5e5);
    -ms-filter: drop-shadow(6px 6px 10px #e5e5e5);
    -o-filter: drop-shadow(6px 6px 10px #e5e5e5);
}

.b-main-services__item-img img {
    width: 100%;
    max-height: 370px;
    object-fit: contain;
}

.masked-image {
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDgwMCA4MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjQwMCIgY3k9IjQwMCIgcj0iNDAwIiBmaWxsPSIjRDlEOUQ5Ii8+Cjwvc3ZnPgo=);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDgwMCA4MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjQwMCIgY3k9IjQwMCIgcj0iNDAwIiBmaWxsPSIjRDlEOUQ5Ii8+Cjwvc3ZnPgo=);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;   
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-position: center;
    -webkit-mask-position: center;
}

.masked-image_position_right {
    mask-position: right center;
    -webkit-mask-position: right center;
}

.b-about-page,
.b-services-page,
.b-partners-page {
    margin-top: 36px;
    margin-bottom: 100px;
}

.b-partners-page .b-text-container {
    max-width: unset;
}

.b-services-page {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.b-services-page__section:not(:last-child)::after {
    content: "";
    display: block;
    margin-top: 30px;
    width: 100px;
    height: 3px;
    background-color: #c41d4c;
}

.b-contacts-page {
    color: #1d1e18;
}

.b-contacts-page__content {
    flex-direction: column;
}

.b-contacts__map-link {
    width: 100vw;
    margin-left: -20px;
}

.b-partners-list {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: max-content;
}

@media only screen and (max-width: 959px) {
    .for-desk {
       display: none!important
    }

    .b-contacts__item {
        margin-bottom: 20px
    }

    .b-main-services__inner {
        padding-bottom: 60px
    }
}

.b-footer {
    position: relative;
    z-index: 1;
    background-color: #1d1e18;
    padding: 30px 0 10px
}

.b-footer__inner {
    width: 100%;
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    font-family: 'Inter', sans-serif;
    color: #cacaca;
}

@media only screen and (max-width: 1119px) {
    .b-footer__inner {
        padding-left: 20px;
        padding-right: 20px
    }
}

.b-footer__copyright {
    margin-bottom: 20px;
}

@media only screen and (min-width: 960px) {
    .for-mob {
        display: none!important
    }

    .b-title-h1 {
        font-size: 48px;
        line-height: 60px;
        letter-spacing: -1.2px
    }

    .b-title-h1, .b-title-h2 {
        font-family: Inter, sans-serif;
        font-weight: 600
    }

    .b-title-h2 {
        font-size: 30px;
        line-height: 40px;
        letter-spacing: -1.5px
    }

    .b-text, .b-text a {
        font-size: 22px;
        font-family: Inter, sans-serif;
        font-weight: 400;
        line-height: 32px;
        letter-spacing: -.3px
    }

    .b-nav__list {
        position: static;
        flex-direction: row;
        padding: 0;
        background-color: unset;
        border-radius: 0;
        box-shadow: none;
        transform: none;
    }

    .b-nav__burger {
        display: none;
    }

    .b-contacts {
        flex-direction: row;
        max-height: 430px;
    }

    .b-contacts__items {
        flex-direction: row;
        align-self: center;
        width: 45%;
        margin-right: 40px;
    }

    .b-main-hero__inner {
        flex-direction: row;
        align-items: center;
        padding-top: 155px;
        padding-bottom: 75px;
    }

    .b-main-hero__text {
        max-width: 650px
    }

    .b-main-hero__img {
        margin-left: auto;
    }

    .b-footer__inner, .b-main-clients, .b-main-services__item {
        flex-direction: row
    }

    .b-main-services {
        background-image: url("data: image/svg+xml; charset=utf-8, %3Csvg xmlns='http: //www.w3.org/2000/svg' fill='none' viewBox='0 0 2870 1760'%3E%3Cpath fill='%23F7F7F7' d='M517.57 95.365a60 60 0 0158.558 13.077l236.123 217.039a60.004 60.004 0 0117.954 57.251l-69.9 313.008a59.999 59.999 0 01-40.604 44.174l-306.023 95.969a60 60 0 01-58.557-13.077L118.998 605.767a59.999 59.999 0 01-17.954-57.251l69.899-313.008a60.002 60.002 0 0140.604-44.174L517.57 95.365zm1886.24 952.495a52.86 52.86 0 0152.25-7.88l262.96 103.2a52.827 52.827 0 0132.95 41.31l42.11 279.32a52.849 52.849 0 01-19.3 49.2l-220.85 176.13a52.86 52.86 0 01-52.25 7.88l-262.96-103.2a52.827 52.827 0 01-32.95-41.31l-42.11-279.32a52.849 52.849 0 0119.3-49.2l220.85-176.13z' opacity='.8'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: 50%;
        background-position-y: -200px;
        background-size: cover
    }

    .b-main-services__title {
        margin-bottom: 85px
    }

    .b-main-services__item--reverse {
        flex-direction: row-reverse
    }

    .b-main-services__item-title {
        margin-bottom: 24px
    }

    .b-main-services__item-info {
        max-width: 560px;
        margin-top: 25px;
        margin-bottom: 25px
    }

    .b-main-services__item-text {
        margin-bottom: 0
    }

    .b-main-services__item-img {
        margin-top: -25px;
        max-width: 560px
    }

    .b-contacts__items {
        margin-top: 0;
    }

    .b-contacts__map-link {
        width: auto;
        margin-left: 0;
    }

    .b-contacts__map {
        width: 1150px;
        height: 100%;
    }

    .b-contacts-page__content {
        flex-direction: row;
        max-height: calc(100vh - 146px);
    }

    .b-footer {
        padding: 20px 0
    }

    .b-footer__copyright {
        margin-left: 0;
        margin-bottom: 0
    }
}

