/*====================================================
  Asmart theme — custom.css

  Sections (search by name):
  Layout | Header | Footer | Marquee | Title reveal | News
  Partners | Counter | Company | Hero slider | Banner | Services
  Responsive | Auth
======================================================*/

/*====================================================
                      Layout
======================================================*/
:root {
    --site-header-container-width: 1320px;
    --asmart-block-content-width: 1280px;
    --asmart-block-pad-x: 5rem;
    --site-header-height: 3.75rem;
}

.asmart-block-container {
    box-sizing: border-box;
    width: 100%;
    max-width: calc(var(--asmart-block-content-width) + (2 * var(--asmart-block-pad-x)));
    margin-inline: auto;
    padding-inline: var(--asmart-block-pad-x);
}

/*====================================================
                      Header
======================================================*/
.asmart-site-header {
    --site-header-height: 3.75rem;
    --site-header-pad-x: 3.75rem;
    --site-header-pad-y: 0.75rem;
    --site-header-z: 1000;
    --mobile-menu-duration: 0.35s;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: var(--site-header-z);
    background: #000;
}

.asmart-site-main {
    padding-top: var(--site-header-height);
}

.site-header-container {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--site-header-container-width);
    margin-inline: auto;
}

.site-header-block {
    flex: 1;
}

.site-header-title {
    max-width: 12.5rem;
    margin-left: 2rem;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;
    text-decoration: none;
}

.site-header-block .menu {
    display: flex;
    align-items: center;
}

.site-header-block .menu li {
    margin: 0 1rem;
}

.site-header-block .menu a {
    color: #fff;
    font-weight: 500;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.5s ease;
}

.site-header-block .menu a:hover {
    color: var(--asmart-accent);
}

.btn-link {
    padding: 0.75rem 1rem;
    text-decoration: none;
    transition: all 0.5s ease;
}

a[data-auth] {
    color: #fff;
    margin-left: 0.625rem;
}

a[data-auth] span {
    margin-left: 0.75rem;
}

a[data-auth]:hover {
    color: var(--color-font);
    background: linear-gradient(90deg, #77BC1F 0%, #D3FF00 100%);
}

a[data-auth]:hover svg path {
    fill: var(--color-font);
}

.mobile-icon, .footer-subscribe__mobile {
    display: none;
}

.site-header-burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 0.375rem;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 2;
}

.site-header-burger__line {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: background-color 0.25s ease;
}

.site-mobile-menu {
    display: none;
}

@media (min-width: 1600px) {
    .asmart-site-header {
        --site-header-pad-x: 5.75rem;
    }
}

@media (max-width: 991.98px) {
    .asmart-site-header {
        --site-header-pad-x: 1.25rem;
        padding: var(--site-header-pad-y) var(--site-header-pad-x);
        padding-top: 2.5rem;
    }

    .site-header-desktop {
        display: none !important;
    }

    .site-header-brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .site-header-title {
        font-size: 0.6875rem;
        line-height: 1.15;
    }

    .site-header-burger {
        display: flex;
    }

    .asmart-site-header.is-mobile-menu-open .site-header-burger__line {
        background: var(--asmart-accent);
    }

    .site-mobile-menu {
        display: block;
        position: absolute;
        inset: 100% 0 auto;
        z-index: calc(var(--site-header-z) - 1);
        width: 100%;
        height: calc(100vh - var(--site-header-height));
        height: calc(100dvh - var(--site-header-height));
        overflow: auto;
        background: #000;
        transform: translateX(-100%);
        transition: transform var(--mobile-menu-duration) cubic-bezier(0.22, 0.61, 0.36, 1);
        -webkit-overflow-scrolling: touch;
    }

    .site-mobile-menu[hidden] {
        display: block;
        visibility: hidden;
        pointer-events: none;
    }

    .asmart-site-header.is-mobile-menu-open .site-mobile-menu {
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    .site-mobile-menu__inner {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        min-height: 100%;
        padding: 2rem 1.5rem 2rem;
    }

    .site-mobile-menu__main {
        width: max-content;
        max-width: 100%;
    }

    .site-mobile-menu__main {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        align-items: stretch;
    }

    .site-mobile-menu__auth,
    .site-mobile-menu__nav {
        width: 100%;
    }

    .site-mobile-menu__auth {
        gap: 3.5rem;
        margin-bottom: 4.5rem;
        justify-content: flex-start;
    }

    .site-mobile-menu__auth-link {
        color: #fff;
        font-size: 1.125rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-decoration: none;
    }

    .site-mobile-menu__auth-link:hover {
        color: var(--asmart-accent);
    }

    .site-mobile-menu__nav {
        display: flex;
        flex: 1 1 auto;
        align-items: flex-start;
        justify-content: flex-start;
        margin-bottom: 3rem;
    }

    .site-mobile-menu__list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.25rem;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: left;
    }

    .site-mobile-menu__list a {
        color: #fff;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0.02em;
        text-decoration: none;
    }

    .site-mobile-menu__list .current-menu-item > a,
    .site-mobile-menu__list .current_page_item > a,
    .site-mobile-menu__list a:hover {
        color: var(--asmart-accent);
    }

    .site-mobile-menu__contacts {
        margin-top: auto;
        padding-top: 2rem;
        width: 100%;
        max-width: calc(100% - 2rem);
        border-top: 1px solid var(--asmart-accent);
        text-align: center;
    }

    .site-mobile-menu__contacts-title {
        margin-bottom: 2rem;
        color: var(--asmart-accent);
        font-size: 1rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .site-mobile-menu__contacts-icons {
        gap: 3.75rem;
        margin-bottom: 1.125rem;
    }

    .site-mobile-menu__contact-icon {
        color: var(--asmart-accent);
        line-height: 0;
        transition: opacity 0.2s ease;
    }

    .site-mobile-menu__contact-icon:hover {
        opacity: 0.8;
    }

    .site-mobile-menu__contact-icon svg {
        display: block;
        width: 2.25rem;
        height: auto;
    }

    .site-mobile-menu__contacts-note {
        color: #A6A8AB;
        font-size: 0.875rem;
        line-height: 1.35;
        letter-spacing: 0.01em;
    }
}

@media (max-width: 767.98px) {
    .asmart-site-header {
        box-sizing: border-box;
        height: 50px;
        min-height: 50px;
        max-height: 50px;
        --site-header-height: 50px;
        --site-header-pad-x: 1.25rem;
        padding: 0 var(--site-header-pad-x);
        display: -webkit-flex;
        display: -webkit-box;
        display: -moz-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .asmart-site-header > .asmart-container {
        box-sizing: border-box;
        width: 100%;
    }

    .asmart-site-header .site-header-container {
        box-sizing: border-box;
        height: 100%;
        align-items: center;
    }

    .site-header-title {
        font-size: 0.55rem;
    }

    .site-mobile-menu__contact-icon svg {
        width: 1.5rem;
    }

    .site-mobile-menu__contacts-title {
        font-size: 0.875rem;
    }
}

@media (max-width: 499.98px) {
    .site-mobile-menu__inner {
        align-items: flex-start;
        padding-left: var(--site-header-pad-x);
        padding-right: var(--site-header-pad-x);
    }

    .site-mobile-menu__main {
        margin-left: var(--site-mobile-menu-main-offset, 0px);
        width: max-content;
        max-width: calc(100% - var(--site-mobile-menu-main-offset, 0px));
    }

    .site-mobile-menu__contacts {
        align-self: center;
    }
}

body.no-scroll {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
}

html.no-scroll {
    overflow: hidden;
    overscroll-behavior: none;
}

/*====================================================
                      END Header
======================================================*/
/*====================================================
                      Footer
======================================================*/
.site-footer-social {
    padding: 1.25rem 0;
}

@media (max-width: 767.98px) {
    .site-footer-social.bg-main.relative {
        height: 120px;
        min-height: 120px;
        max-height: 120px;
        padding: 0;
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }

    .site-footer-social .asmart-container {
        width: 100%;
    }
}

.site-footer-container {
    padding: 0 7.5rem;
}

.block-social-text {
    font-weight: 500;
    font-size: 1.25rem;
    text-transform: uppercase;
}

.block-social-link a {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 10px;
}

.block-social-link img {
    width: 100%;
    height: 100%;
}

.block-social-link {
    margin: -0 -10px;
}

.site-footer-form {
    padding: 5rem 0 4rem;
}

.block-form .form {
    max-width: 32.5rem;
    margin: 0 auto;
}

.block-form-top {
    text-align: center;
    margin-bottom: 3.5rem;
    color: #fff;
    letter-spacing: 0;
}

.block-form-top .form-title {
    margin-bottom: 2.5rem;
}

.block-form-top .form-desc {
    max-width: 40%;
    margin: 0 auto;
}

.site-footer-subscribe {
    padding-bottom: 5rem;
}

.block-contacts {
    font-weight: 500;
    font-size: 1rem;
    margin: 0 -2.5rem;
    width: 80%;
}

.block-contacts > div {
    margin: 0 2.5rem;
    width: calc(100% / 3 - 5rem);
}

.block-contacts > div > div {
    margin-bottom: 1.125rem;
}

.block-contacts > div > div:last-child {
    margin-bottom: 0;
}

.block-contacts a, .block-contacts span {
    color: #fff;
    letter-spacing: 0;
}

.block-contacts span {
    margin-left: 0.75rem;
}

.block-contacts .block-phone span {
    margin-left: 3px;
}

.block-contacts-title {
    color: var(--asmart-accent);
    max-width: 13.75rem;
    margin-bottom: 1.125rem;
}

.block-contacts-group .block-contacts-title {
    max-width: 60%;
}

.block-contacts-group .block-contacts-title.title-width-small {
    max-width: 45%;
}

.block-subscribe a {
    margin-left: 3.75rem;
}

.block-subscribe a span {
    margin-left: 0.75rem;
}

.site-footer-video {
    padding-bottom: 2.5rem;
}

.site-footer-video__mobile-bg {
    display: none;
}

@media (max-width: 767.98px) {
    .site-footer-video__media {
        display: none !important;
    }

    .video__mobile-bg {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-color: #031523;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .site-footer-video__mobile-bg {
        background-image: url('../../../images/footer-bg-mobile.jpg');
    }

    .success-video__mobile-bg {
        background-image: url('../../../images/background_success2.jpg');
    }

    .site-footer-video > .relative {
        position: relative;
        z-index: 1;
    }
}

.footer-menu li {
    margin-bottom: 1.125rem;
}

.footer-menu li:last-child {
    margin-bottom: 0;
}

.footer-menu li a {
    font-weight: 500;
    color: #666A5D;
    letter-spacing: 0;
}

.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.section-partners__mobile-bg {
    display: none;
}

.section-partners {
    margin-top: -4px;
    background-color: #000;
}

@media (max-width: 767.98px) {
    .section-partners .section-partners__video {
        display: none !important;
    }

    .section-partners__mobile-bg {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-color: #031523;
        background-image: url('../../../images/video_360.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    @media (min-width: 361px) {
        .section-partners__mobile-bg {
            background-image: url('../../../images/video_480.jpg');
        }
    }

    @media (min-width: 481px) {
        .section-partners__mobile-bg {
            background-image: url('../../../images/video_767.jpg');
        }
    }

    .section-partners .asmart-container {
        position: relative;
        z-index: 1;
    }
}

.site-footer-wrapper {
    padding-bottom: 6rem;
}

.site-scroll-top {
    position: fixed;
    right: var(--site-header-pad-x, 3.75rem);
    bottom: 2rem;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    width: 2.5rem;
    height: 2.5rem;
    border: 2px solid var(--asmart-accent);
    background: #000000;
    padding: 0;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.75rem);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
}

.site-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.site-scroll-top__icon {
    display: inline-flex;
    line-height: 0;
}

.site-scroll-top__icon svg {
    display: block;
}

@media (max-width: 767.98px) {
    .site-scroll-top {
        right: 1rem;
        bottom: 1rem;
        padding: 0.75rem 1rem;
        font-size: 0.75rem;
        border: 1px solid #000;
    }
}

.callback-form-close {
    background: none;
    border: none;
    position: absolute;
    right: 0.5rem;
    top: 0.5rem;
    cursor: pointer;
}

/*====================================================
                      END Footer
======================================================*/
/*====================================================
                      Marquee
======================================================*/
@keyframes marquee {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

.marquee {
    padding: 5rem 0 0;
    overflow: hidden;
    position: relative;
}

.marquee-wrap {
    overflow: hidden;
}

.marquee-content {
    display: flex;
    align-items: center;
    gap: 5rem;
    width: max-content;
    animation: marquee 40s linear infinite;
    animation-play-state: paused;
    will-change: transform;
    backface-visibility: hidden;
    transform: translateZ(0);
}

#marquee-banner.marquee-content {
    gap: 0;
    animation-duration: 35s;
}

#marquee-banner {
    padding-bottom: 1.125rem;
}

.marquee-item {
    display: flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
}

.marquee-item-first {
    padding-left: 7.5rem;
}

.marquee-item img {
    margin: 0 3.5rem;
    flex-shrink: 0;
}

#marquee-banner .marquee-item img {
    width: 47px;
    height: 54px;
    display: block;
}

.marquee-content.is-marquee-running {
    animation-play-state: running;
}

@media (max-width: 767.98px) {
    .section-rewards > .marquee.is-marquee-scroll {
        --rewards-marquee-width: min(296px, calc(100vw - 24px));
        --rewards-marquee-gap: 16px;
        --rewards-marquee-item-width: 88px;
        width: var(--rewards-marquee-width);
        margin-left: auto;
        margin-right: auto;
    }

    .section-rewards > .marquee.is-marquee-scroll #marquee-rewards {
        gap: var(--rewards-marquee-gap);
    }

    .section-rewards > .marquee.is-marquee-scroll #marquee-rewards .marquee-item {
        display: flex;
        flex: 0 0 var(--rewards-marquee-item-width);
        width: var(--rewards-marquee-item-width);
        justify-content: center;
    }

    .section-rewards > .marquee.is-marquee-scroll #marquee-rewards .marquee-item img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        margin: 0;
    }

    .section-clients > .marquee.is-marquee-scroll #marquee-clients .marquee-item img {
        display: block;
        width: 40px;
        height: 40px;
        margin: 0;
        object-fit: contain;
    }

    .marquee.is-marquee-scroll {
        overflow: hidden;
    }

    .marquee.is-marquee-scroll .marquee-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        touch-action: pan-x;
    }

    .marquee.is-marquee-scroll .marquee-wrap::-webkit-scrollbar {
        display: none;
    }

    .marquee.is-marquee-scroll .marquee-content {
        animation: none !important;
        will-change: auto;
        transform: none;
        backface-visibility: visible;
    }

    .marquee.is-marquee-scroll .marquee-item-first {
        padding-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .marquee-content {
        animation: none;
    }
}

/*====================================================
                      END Marquee
======================================================*/

/*====================================================
                      Title reveal (WOW)
======================================================*/
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

.title-reveal {
    display: block;
}

.title-reveal--mobile {
    display: none;
}

.title-reveal__line {
    display: block;
}

.title-reveal__text {
    display: inline-block;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .title-reveal__text {
        white-space: normal;
    }
}

@media (max-width: 767.98px) {
    .title-reveal--desktop {
        display: none;
    }

    .title-reveal--mobile {
        display: block;
    }

    .title-reveal__line .title-reveal__text {
        font-size: 1.25rem;
    }
}

/*====================================================
                      END Title reveal
======================================================*/

/*====================================================
                      News
======================================================*/
.sidebar-mobile {
    display: none !important;
}

.asmart-news-detail {
    padding-top: 10rem;
    padding-bottom: 14rem;
}

.asmart-card-news-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(22.5rem, 32%);
    gap: 3.75rem;
    align-items: start;
}

.asmart-card-news-detail__media {
    margin-bottom: 4rem;
    overflow: hidden;
    background: #000;
}

.asmart-card-news-detail__media img,
.asmart-card-news-detail__video {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: top;
}

.asmart-card-news-detail__head.title-line {
    margin-bottom: 4rem;
    padding-left: 2rem;
}

.asmart-card-news-detail__head.title-line:before {
    width: 0.5rem;
    background: linear-gradient(180deg, #D3FF00 0%, #77BC1F 100%);
    transform: none;
    transition: none;
}

.asmart-card-news-detail__date {
    display: inline-block;
    margin-bottom: 2.5rem;
    padding: 0.35rem 0.75rem;
    background: var(--asmart-accent);
    color: var(--color-font);
    font-weight: 500;
    line-height: 1.2;
}

.asmart-card-news-detail__title {
    margin: 0;
    max-width: 80%;
}

.asmart-card-news-detail__content {
    margin-bottom: 3rem;
    line-height: 1.5;
}

.asmart-card-news-detail__content p + p {
    margin-top: 1.25rem;
}

.asmart-card-news-detail__share {
    position: relative;
    max-width: 22.5rem;
}

.asmart-card-news-detail__share .asmart-card-news-detail__share-btn.btn-hover-bg {
    gap: 1rem;
    width: 100%;
    padding-inline: 18px;
    cursor: pointer;
}

.asmart-card-news-detail__share-arrow {
    display: block;
    flex: 0 0 18px;
}

.asmart-card-news-detail__share-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 0.5rem);
    z-index: 5;
    min-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem;
    background: #fff;
    border: 2px solid #000;
}

.asmart-card-news-detail__share-menu[hidden] {
    display: none;
}

.asmart-card-news-detail__share-link {
    display: block;
    padding: 0.75rem 1rem;
    color: #000;
    text-decoration: none;
    line-height: 1.2;
}

.asmart-card-news-detail__share-link:hover {
    background: var(--asmart-accent, #d3ff00);
}

.asmart-card-news-detail__sidebar {
    display: flex;
    flex-direction: column;
}

.sidebar-wrapper {
    padding: 1.25rem;
    background: #F1F1F1;
}

.asmart-card-news-detail__sidebar-body {
    margin-top: 1.5rem;
}

.asmart-card-news-detail__sidebar-title {
    font-size: 1.5rem;
    padding-right: 1.25rem;
    margin: 0 0 1.25rem;
    max-width: 60%;
}

.asmart-card-news-detail__sidebar-list {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0 1rem 0 0;
    max-height: calc(100% - 8rem);
    overflow-y: auto;
}

.asmart-card-news-detail__sidebar-item {
    margin-bottom: 2rem;
}

.asmart-card-news-detail__sidebar-item:last-child {
    margin-bottom: 0;
}

.asmart-card-news-detail__sidebar-thumb {
    display: block;
    overflow: hidden;
}

.asmart-card-news-detail__sidebar-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.asmart-card-news-detail__sidebar-body time {
    display: block;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.2;
}

.asmart-card-news-detail__sidebar-text {
    line-height: 1.35;
}

.asmart-card-news-detail__sidebar-text a {
    text-decoration: none;
}

.asmart-card-news-detail__sidebar-all {
    flex-shrink: 0;
    margin-top: 2rem;
    width: 100%;
    max-width: none;
}

.asmart-card-news-detail__sidebar-empty {
    margin: 0;
}

@media (max-width: 1100px) {
    .asmart-card-news-detail__layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .asmart-card-news-detail__sidebar {
        max-height: none;
    }

    .sidebar-wrapper {
        padding: 1.25rem;
        background: #fff;
    }

    .asmart-card-news-detail__sidebar-all {
        margin: 0 auto;
        margin-top: 2rem;
    }
}

.asmart-news-gallery {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}

.asmart-news-gallery__nav {
    position: absolute;
    flex: 0 0 auto;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
}

.asmart-news-gallery__nav:disabled {
    opacity: 0.25;
    cursor: default;
}

.asmart-news-gallery__prev {
    left: -3.75rem
}

.asmart-news-gallery__next {
    right: -3.75rem
}

.asmart-news-gallery__slider {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 1.75rem;
}

.asmart-news-gallery__slide {
    height: auto;
}

.asmart-news-gallery__link {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: inherit;
    text-align: left;
}

.asmart-news-gallery__link .asmart-news-gallery__media {
    pointer-events: none;
}

.asmart-news-gallery__media {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: #f1f1f1;
}

.asmart-news-gallery__slider.swiper-horizontal .asmart-news-gallery__scrollbar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #000000;
    border-radius: 0;
}

.asmart-news-gallery__slider.swiper-horizontal .asmart-news-gallery__scrollbar .swiper-scrollbar-drag {
    height: 3px;
    top: -1px;
    background: #000;
    border-radius: 0;
}

.fancybox-container.b-fancybox-news-gallery .fancybox-bg {
    background: #000;
    opacity: 1;
}

.fancybox-container.b-fancybox-news-gallery .fancybox-slide--html {
    padding: 2rem 1rem;
}

.fancybox-container.b-fancybox-news-gallery .fancybox-content {
    width: min(72rem, 100%);
    max-width: 100%;
    background: transparent;
    padding: 0;
}

.fancybox-container.b-fancybox-news-gallery .fancybox-button {
    color: var(--asmart-accent);
    right: 5rem;
    top: 1.75rem;
    padding: 0;
    width: 1.75rem;
    height: 1.75rem;
}

.asmart-news-gallery-modal {
    width: 100%;
}

.asmart-news-gallery-modal__inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
}

.asmart-news-gallery-modal__nav {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.asmart-news-gallery-modal__nav:disabled {
    opacity: 0.3;
    cursor: default;
}

.asmart-news-gallery-modal__slider {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 1.75rem;
}

.asmart-news-gallery-modal__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}

.asmart-news-gallery-modal__media {
    display: block;
    width: 100%;
    max-height: min(75vh, 48rem);
    height: auto;
    object-fit: contain;
    background: #111;
}

.asmart-news-gallery-modal__slider.swiper-horizontal .asmart-news-gallery-modal__scrollbar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--asmart-accent);
    border-radius: 0;
}

.asmart-news-gallery-modal__slider.swiper-horizontal .asmart-news-gallery-modal__scrollbar .swiper-scrollbar-drag {
    height: 3px;
    top: -1px;
    background: var(--asmart-accent);
    border-radius: 0;
}

@media (max-width: 900px) {
    .asmart-news-gallery {
        gap: 0.75rem;
    }

    .asmart-card-news-detail__gallery {
        margin-top: 3.5rem;
    }

    .asmart-news-gallery-modal__inner {
        gap: 0.5rem;
    }

    .asmart-news-gallery-modal__nav {
        width: 1.75rem;
    }
}

@media (max-width: 640px) {
    .asmart-news-gallery__nav {
        width: 1.5rem;
    }
}

.asmart-grid-news-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.75rem;
    grid-area: list;
}

.asmart-grid-news--with-head .news-list-wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "top all"
        "list list";
    align-items: center;
    column-gap: 1.5rem;
}

.content-wrapper {
    padding: 0 2.5rem;
}

.asmart-grid-news-list-top {
    grid-area: top;
    margin-bottom: 5rem;
}

.asmart-grid-news-all {
    grid-area: all;
    margin-bottom: 5rem;
}

@media (min-width: 992px) {
    .section-news .asmart-grid-news--with-head .news-list-wrapper {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "top all"
            "list list";
        column-gap: 3.75rem;
    }

    .section-news .asmart-grid-news-all {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
        max-width: 100%;
    }
}

@media (min-width: 1199.98px) {
    .section-news .asmart-grid-news--with-head .news-list-wrapper {
        grid-template-columns: repeat(3, 1fr);
        grid-template-areas:
            "top top all"
            "list list list";
        column-gap: 3.75rem;
    }
}

@media (min-width: 1400px) {
    .section-news .asmart-grid-news--with-head .news-list-wrapper {
        column-gap: 3.75rem;
    }
}

.asmart-grid-news-months {
    display: none;
}

.asmart-grid-news-month__title {
    margin: 0 0 1.5rem;
}

.asmart-grid-news-month__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.125rem;
}

.asmart-grid-news-month__divider {
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
    height: 0.5px;
    background: #000;
}

.asmart-grid-news-month:last-child .asmart-grid-news-month__divider {
    display: none;
}

.asmart-grid-default {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.75rem;
}

.asmart-card-news-card img,
.asmart-card-news-card__video {
    display: block;
    width: 100%;
    height: auto;
}

.asmart-grid-news .asmart-card-news-card img,
.asmart-grid-news .asmart-card-news-card__video {
    aspect-ratio: 360 / 215;
    height: auto;
    object-fit: cover;
}

.asmart-card-news-card__video {
    background: #000;
}

.news-card-head {
    margin-bottom: 2rem;
    overflow: hidden;
}

.asmart-card-news-card time {
    display: block;
    margin-bottom: 1.875rem;
}

.news-card__text {
    font-weight: 500;
}

.asmart-grid-default-top {
    margin-bottom: 5rem;
}

@media (max-width: 767.98px) {
    .section-news.pt-80.pb-100.bg-gray {
        padding-top: 54px;
        padding-bottom: 56px;
    }

    .section-news .asmart-grid-news--with-head > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .section-news .asmart-grid-news--with-head .news-list-wrapper.content-wrapper {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

/*====================================================
                      END News
======================================================*/

/*====================================================
                      Partners
======================================================*/
.block-partner .section-block-item {
    width: calc(100% / 3);
    text-align: center;
}

.block-partner .section-block-item img {
    max-width: 20rem;
    max-height: 8.25rem;
}

.block-partner .block-partner__logo--mobile {
    display: none;
}

@media (max-width: 1100px) {
    .block-partner .section-block-item img {
        max-width: 12.5rem;
    }
}

@media (max-width: 820.98px) {
    .block-partner .section-block-item img {
        max-width: 7.75rem;
    }
}

@media (max-width: 767.98px) {
    .block-partner .section-block-item--has-mobile .block-partner__logo--desktop {
        display: none;
    }

    .block-partner .section-block-item {
        width: auto;
    }

    .block-partner .section-block-item--has-mobile .block-partner__logo--mobile {
        display: inline-block;
    }
}

/*====================================================
                      END Partners
======================================================*/
/*====================================================
                      Counter
======================================================*/
.block-counter {
    padding: 3rem 2rem;
    gap: 7rem;
}

.block-counter.int-fact-counters {
    flex-wrap: wrap;
    column-gap: 2rem;
}

.int-fact-counters > .int-fct-item {
    width: 250px;
    max-width: 100%;
    flex-shrink: 0;
}

.int-fact-counters .counter-text {
    max-width: 100%;
    overflow-wrap: break-word;
}

.counter-title {
    font-weight: 500;
    font-size: 5.5rem;
    line-height: 1.03;
    color: var(--asmart-accent);
}

.counter-text {
    max-width: 80%;
    margin-top: 0.5rem;
}

@media (max-width: 767.98px) {
    .bg-counter.bg-black > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .counter-text.fct-text.text-24.text-white {
        font-family: var(--font-family);
        font-weight: 500;
        font-size: 16px;
        line-height: 130%;
        text-align: center;
        text-transform: uppercase;
        color: #fff;
        max-width: 100%;
    }
}

/*====================================================
                      END Counter
======================================================*/
.section-top img {
    top: 3rem;
    right: 0;
}

/*====================================================
                      Company
======================================================*/
.section-company {
    --company-container-pad: 7.5rem;
    --company-block-pad: 2.5rem;
    --company-image-transparent-edge: 7.5rem;
    --company-flip-duration: 1.1s;
    /* Не клипать контент/картинки при разной высоте экрана */
    overflow: visible;
}

.section-company .section-top {
    position: relative;
    overflow: visible;
}

@media (min-width: 1600px) {
    .section-company {
        --company-container-pad: 12rem;
    }
}

@media (max-height: 800px) {
    .section-company.pt-120 {
        padding-top: 4rem;
    }

    .section-company.pb-120 {
        padding-bottom: 4rem;
    }

    .section-company .section-top.mb-80 {
        margin-bottom: 3rem;
    }

    .block-company-item.item-0 {
        margin-bottom: 4rem;
    }

    .company-image-flip--hero {
        top: -1.5rem;
    }
}

/* Company images: continuous scale + flip (no pause before turn) */
@keyframes companyImageAppear {
    0% {
        opacity: 0;
        transform: translate3d(0, -5rem, 0) scale(0.12);
    }
    10% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes companyImageFlip {
    0% {
        transform: rotateX(180deg);
    }
    100% {
        transform: rotateX(0deg);
    }
}

.company-image-flip {
    --company-reveal-duration: 1.75s;
    opacity: 0;
    transform: translate3d(0, -5rem, 0) scale(0.12);
    transform-origin: center top;
    will-change: transform, opacity;
}

.company-image-flip.is-revealed {
    animation: companyImageAppear var(--company-reveal-duration) cubic-bezier(0.33, 0, 0.2, 1) forwards;
}

.company-image-flip__scene {
    display: inline-block;
    vertical-align: top;
    line-height: 0;
    perspective: 1200px;
    perspective-origin: 50% 40%;
}

.company-image-flip__card {
    position: relative;
    display: inline-block;
    line-height: 0;
    transform: rotateX(180deg);
    transform-origin: center center;
    transform-style: preserve-3d;
    will-change: transform;
}

.company-image-flip.is-revealed .company-image-flip__card {
    /* Slightly ease-in so green reads early, then flip accelerates — still no stop */
    animation: companyImageFlip var(--company-reveal-duration) cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.company-image-flip__face {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.company-image-flip__face--front {
    position: relative;
    transform: rotateX(0deg);
}

.company-image-flip__face--back {
    position: absolute;
    inset: 0;
    background: var(--asmart-accent);
    transform: rotateX(180deg);
    -webkit-mask-image: var(--company-flip-mask);
    mask-image: var(--company-flip-mask);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.company-image-flip__face--front img {
    display: block;
    width: auto;
    height: auto;
}

.company-image-flip--hero {
    position: absolute;
    top: -5rem;
    right: 0;
    z-index: 2;
    pointer-events: none;
}

.company-image-flip--hero .section-company__hero-image {
    max-width: min(32rem, 42vw);
}

.company-image-flip--item {
    display: inline-block;
    vertical-align: top;
    line-height: 0;
}

@media (prefers-reduced-motion: reduce) {
    .company-image-flip {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .company-image-flip__card {
        transform: rotateX(0deg) !important;
        animation: none !important;
    }
}

.block-company {
    position: relative;
    z-index: 1;
    padding: 0 var(--company-block-pad) 0 0;
    padding-top: 1rem;
}

.block-company-item.odd {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    padding-top: 3.5rem;
}

.block-company-item.item-0 {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 9rem;
    position: relative;
}

.block-company-item .item-desc {
    max-width: 40%;
}

.block-company-item.item-0 .item-desc {
    padding-left: 2rem;
}

.block-company-item .item-title {
    max-width: 70%;
}

.block-company-item .item-title-reveal {
    display: block;
}

@media (max-width: 767.98px) {
    .block-company-item .item-title.item-title-reveal.mb-32 {
        margin-bottom: 16px;
    }
}

.block-company-item .item-title-reveal__line {
    display: block;
}

.block-company-item .item-title-reveal__char {
    display: inline-block;
}

.block-company-item .item-title-reveal__char--space {
    display: inline-block;
    width: 0.35em;
}

/* Letter appear: from the right, like title-line-large */
@keyframes companyCharFadeInRight {
    from {
        opacity: 0;
        transform: translate3d(1.25rem, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.companyCharFadeInRight {
    -webkit-animation-name: companyCharFadeInRight;
    animation-name: companyCharFadeInRight;
}

/* item-text: reveal left → right */
@keyframes companyTextRevealLR {
    from {
        clip-path: inset(0 100% 0 0);
        -webkit-clip-path: inset(0 100% 0 0);
    }
    to {
        clip-path: inset(0 0 0 0);
        -webkit-clip-path: inset(0 0 0 0);
    }
}

.companyTextRevealLR {
    -webkit-animation-name: companyTextRevealLR;
    animation-name: companyTextRevealLR;
}

.block-company-item .item-text-reveal {
    display: block;
    font-weight: 400;
}

@media (prefers-reduced-motion: reduce) {
    .block-company-item .item-title-reveal__char.wow,
    .block-company-item .item-text-reveal.wow {
        visibility: visible !important;
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
    }
}

@media (max-width: 767.98px) {
    /* Letter animation off; line slide-in (title-reveal / video-slider) stays */
    .block-company-item .item-title-reveal__char.wow {
        visibility: visible !important;
        animation: none !important;
        -webkit-animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .block-company-item .item-title-reveal__char {
        display: inline;
    }

    .block-company-item .item-title-reveal__char--space {
        display: inline;
        width: auto;
    }
}

@media (max-width: 900px) {
    .block-company-item .item-title-reveal__line {
        white-space: normal;
    }
}

.block-company-item.item-0 .item-image {
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(-12rem, -35%);
    z-index: 1;
}

.block-company-item.item-0 .item-image img {
    display: block;
    height: auto;
}

.block-company-item.item-0 .item-image > img {
    position: static;
    transform: none;
}

.block-company-item.odd .item-image {
    position: relative;
    top: 12rem;
    width: 48%;
    margin-top: -20rem;
    flex-shrink: 0;
    margin-left: 2rem;
    align-self: flex-start;
}

.block-company-item.odd .item-image img {
    display: block;
    height: auto;
}

.form-contacts__mobile, .form-desc__mobile, .form-subtitle__mobile {
    display: none;
}

@media (max-width: 1439px) {
    .company-image-flip--hero .section-company__hero-image {
        max-width: min(29rem, 42vw);
    }
}

.section-company__media--mobile {
    display: none;
}

/* Mobile company images: fade + scale in (no flip) */
@keyframes companyImageScaleIn {
    0% {
        opacity: 0;
        transform: scale(0.35);
    }
    35% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width: 1399.98px) {
    .block-company-item .item-image img {
        max-width: 80%;
        margin-left: auto;
    }

    .block-company-item.item-0 .item-image {
        transform: translate(-9rem, -35%);
    }

    .company-image-flip--hero .section-company__hero-image {
        max-width: 80%;
        margin-left: auto;
    }

    .block-company-item.odd .item-image img {
        margin-left: 0;
    }

    .company-image-flip--hero {
        top: -2rem;
    }
}

@media (max-width: 1299.98px) {
    .block-company-item .item-desc {
        max-width: 45%;
        padding-right: 2rem;
    }

    .block-company-item.odd .item-desc {
        padding-right: 0;
        padding-left: 1.5rem;
    }
}

@media (max-width: 1199.98px) {
    .block-company-item.odd {
        padding-top: 0;
    }

    .block-company-item.odd .item-image {
        top: 15rem;
    }
}

@media (max-width: 991.98px) {
    .section-company {
        overflow: hidden;
    }

    .section-company__media--desktop {
        display: none;
    }

    .section-company__media--mobile {
        display: block;
    }

    .section-company__media--mobile[data-company-image-appear],
    .section-company__stage [data-company-image-appear] {
        opacity: 0;
        transform: scale(0.35);
        transform-origin: center center;
        will-change: transform, opacity;
    }

    .section-company__media--mobile[data-company-image-appear].is-revealed,
    .section-company__stage [data-company-image-appear].is-revealed {
        animation: companyImageScaleIn 1.45s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
    }

    @media (prefers-reduced-motion: reduce) {
        .section-company__media--mobile[data-company-image-appear],
        .section-company__stage [data-company-image-appear] {
            opacity: 1 !important;
            transform: none !important;
            animation: none !important;
        }
    }

    .section-company .section-top {
        margin-bottom: 2.5rem;
    }

    .section-company .section-top.mb-80 {
        margin-bottom: 2.5rem;
    }

    .block-company {
        position: relative;
        padding: 0;
    }

    .block-company-item {
        flex-direction: column;
        align-items: stretch;
    }

    .block-company-item .item-desc {
        max-width: 100%;
    }

    .block-company-item .item-title {
        max-width: 100%;
    }

    .block-company-item.item-0 {
        position: relative;
        z-index: 3;
        overflow: visible;
    }

    .block-company-item.item-0 .item-desc {
        position: relative;
        z-index: 3;
        max-width: 48%;
    }

    /* Коллаж: hero в потоке, hex/slant — absolute */
    .section-company__stage {
        position: relative;
        z-index: 1;
        width: 100%;
        margin: -1.5rem 0 -2.5rem;
        padding: 1.5rem 0 4.25rem;
        overflow: visible;
    }

    .section-company__hex {
        position: absolute;
        right: -40%;
        max-width: 60%;
        z-index: 0;
        pointer-events: none;
    }

    .section-company__hex img {
        display: block;
        width: 100%;
        height: auto;
    }

    .section-company__hero {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 60%;
        margin: 0 auto;
        left: 0;
    }

    .section-company__hero .section-company__hero-image {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .section-company__slant {
        position: absolute;
        left: -30%;
        bottom: 0;
        max-width: 60%;
        z-index: 2;
        pointer-events: none;
    }

    .section-company__slant img {
        display: block;
        width: 100%;
        height: auto;
    }

    .section-company__hex .section-company__layer-image--mobile,
    .section-company__slant .section-company__layer-image--mobile {
        display: none;
    }

    .block-company-item.odd {
        position: relative;
        z-index: 3;
        display: block;
        margin-top: 0;
        padding-top: 0;
    }

    .block-company-item.odd .item-desc {
        max-width: 52%;
        margin-left: auto;
        margin-right: 3.5rem;
        position: relative;
        z-index: 3;
    }
}

@media (max-width: 991.98px) and (min-width: 500px) {
    .block-company-item.item-0 .item-desc {
        max-width: 50%;
    }

    .section-company__stage {
        margin: 0;
        padding: 0;
    }

    .block-company-item.odd .item-desc {
        max-width: 70%;
        margin-right: 0;
    }

    .block-company-item.item-0 {
        margin-bottom: 5rem;
    }

    .section-company__hex {
        right: -25%;
        top: -50%;
        max-width: 60%;
    }

    .section-company__slant {
        left: -30%;
        bottom: -5rem;
    }
}

@media (max-width: 767.98px) {
    .section-clients .section-top {
        left: 50%;
        width: min(296px, calc(100vw - 24px));
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        transform: translateX(-50%);
    }

    .section-clients .section-top .title-line-large {
        padding-left: 0;
    }

    .section-clients .section-top .title-line-large:before {
        left: -13px;
    }

    .section-company {
        --company-mobile-text-grid: min(296px, calc(100vw - 24px));
        --company-mobile-text-inset: max(0px, calc((100% - 296px) / 2));
    }

    .section-company .section-top {
        width: var(--company-mobile-text-grid);
        margin-left: auto;
        margin-right: auto;
    }

    .section-company .section-top .title-line-large {
        padding-left: 0;
    }

    .section-company .section-top .title-line-large:before {
        left: -13px;
    }

    .section-company .block-company-item .item-desc {
        box-sizing: border-box;
        padding-left: 0;
        padding-right: 0;
    }

    .section-company .block-company-item.item-0 .item-desc {
        margin-left: var(--company-mobile-text-inset);
        padding-left: 0;
        padding-right: 0;
    }

    .section-company .block-company-item.odd .item-desc {
        margin-right: var(--company-mobile-text-inset);
    }

    .section-company .block-company-item.item-last .item-desc {
        left: 32px;
    }

    .footer-subscribe__mobile .block-subscribe-text {
        max-width: 55%;
    }

    .section-company__stage .section-company__hero,
    .section-company__stage .section-company__hero.is-revealed {
        left: calc(50% - 148px);
        right: auto;
        max-width: 88%;
        margin-left: 0;
        margin-right: 0;
        top: -4.5rem;
    }

    .section-company__stage .section-company__hero .section-company__hero-image {
        max-width: 100%;
    }

    .section-company__slant {
        bottom: 0;
    }

    .block-company-item.item-0 {
        margin-bottom: 6rem;
    }
}

@media (max-width: 520.98px) {
    .section-company__hex--has-mobile .section-company__layer-image--desktop,
    .section-company__slant--has-mobile .section-company__layer-image--desktop {
        display: none;
    }

    .section-company__hex--has-mobile .section-company__layer-image--mobile,
    .section-company__slant--has-mobile .section-company__layer-image--mobile {
        display: block;
    }

    .section-company__hex {
        top: -15rem;
        right: -1rem;
        width: auto;
    }

    .section-company__hero {
        left: auto;
        right: 0;
        max-width: 100%;
        margin: 0 0 0 14px;
        top: -4.5rem;
    }

    .section-company__slant {
        width: auto;
        left: -1rem;
        bottom: 3rem;
    }

    .section-company__stage {
        margin: -1rem 0 -2rem;
        padding: 1rem 0 5rem;
    }

    .block-company-item.odd {
        margin-top: -8rem;
    }

}

@media (min-width: 440px) and (max-width: 767.98px) {
    .section-company .block-company-item.item-0,
    .section-company .block-company-item.odd {
        left: 50%;
        width: 440px;
        max-width: 440px;
        transform: translateX(-50%);
    }

    .section-company .block-company-item.item-0 .item-desc {
        max-width: 65%;
    }

    .section-company .block-company-item.odd .item-desc {
        max-width: 65%;
        margin-right: 0;
    }

    .section-company__slant {
        bottom: 32px;
    }

}

@media (max-width: 439.98px) {
    .section-company__slant {
        bottom: 64px;
    }

    .section-company .block-company-item.odd {
        margin-top: -8rem;
    }

    .section-company .block-company-item.item-last .item-desc {
        left: 62px;
    }
}

@media (max-width: 399.98px) {
    .block-company-item.item-0 .item-desc {
        max-width: 46%;
    }
}

/*====================================================
                      END Company
======================================================*/

/*====================================================
                      Hero / Video slider
======================================================*/

.section-background {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}

.video-slider {
    min-height: calc(100vh - 5rem);
    min-height: calc(100dvh - 5rem);
    height: auto;
}

.video-slider .swiper-wrapper {
    height: auto !important;
}

.video-slider .swiper-slide {
    position: relative;
    min-height: calc(100vh - 5rem);
    min-height: calc(100dvh - 5rem);
    height: auto !important;
    padding-bottom: 5rem;
    /* Клипаем только фон-видео, не контент слайда */
    overflow: hidden;
}

.video-slider .slide-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.video-slider .slide-text-area {
    position: relative;
    z-index: 2;
}

.slide-text-wrapper {
    position: relative;
    z-index: 2;
    overflow: hidden;
    background: transparent;
}

@media (max-height: 800px) {
    .video-slider,
    .video-slider .swiper-slide {
        min-height: calc(100vh - 4rem);
        min-height: calc(100dvh - 4rem);
    }

    .video-slider .swiper-slide {
        padding-bottom: 3.5rem;
    }

    .slide-text {
        padding: 1.25rem 1.25rem 1.25rem 0;
    }

    .slide-text-note {
        margin-bottom: 1rem;
    }
}

@media (max-height: 650px) {
    .video-slider,
    .video-slider .swiper-slide {
        min-height: 0;
    }
}

.slide-text-wrapper__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(0, 0, 0, 0.8);
    transform-origin: left center;
    visibility: hidden;
}

.slide-text-content {
    position: relative;
    z-index: 1;
}

.slide-text {
    padding: 2rem 2rem 2rem 0;
}

.slide-text-title {
    line-height: 1.3;
}

.slide-text-note {
    color: var(--asmart-accent);
    margin-bottom: 1.5rem;
}

@keyframes slideNoteFromTitle {
    from {
        opacity: 0;
        transform: translate3d(var(--slide-note-from-x, 50%), 0, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.asmart-hero-slider .slide-text-note.slide-note-from-title {
    animation-name: slideNoteFromTitle;
}

.video-slider .wow-slide {
    visibility: hidden;
}

.video-slider .wow-slide.animated {
    visibility: visible;
}

@keyframes revealFromLeft {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

.revealFromLeft {
    -webkit-animation-name: revealFromLeft;
    animation-name: revealFromLeft;
}

/*====================================================
                      END Hero / Video slider
======================================================*/

/*====================================================
                      Banner
======================================================*/
.section-banner {
    --section-banner-height: calc(100vh - var(--site-header-height));
    --section-banner-content-top: 3.75rem;
    --section-banner-marquee-space: 6.5rem;
    --banner-btn-width: 20rem;
    height: var(--section-banner-height);
    max-height: var(--section-banner-height);
    overflow: hidden;
    background: #031523;
    isolation: isolate;
    justify-content: flex-start;
}

@media (min-height: 1081px) {
    .section-banner > .asmart-container.section-banner__content {
        display: flex;
        align-items: center;
    }

    .section-banner .banner-block {
        width: 100%;
        padding-top: var(--section-banner-content-top);
    }
}

@media (min-width: 992px) {
    .section-banner .banner-block {
        padding-top: var(--section-banner-content-top);
    }

    .section-banner .banner-title {
        margin-bottom: 3.75rem;
    }

    .hero-component .banner-block-title__content .banner-title {
        margin-bottom: 0;
    }

    .hero-component .banner-block .banner-btn-block {
        margin: 5rem -2rem 3.125rem;
    }

    .section-banner .banner-link {
        margin-top: 5rem;
    }

    .section-banner .rocket-hero {
        --rocket-width: min(700px, calc(var(--section-banner-height) * 0.85), 56vw);
        --rocket-top: 56%;
    }
}

.section-banner .rocket-hero {
    position: absolute;
    inset: 0;
    z-index: 6;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    --rocket-hero-height: 100%;
    --rocket-hero-min-height: 0;
    --rocket-top: 56%;
    --rocket-width: min(700px, calc(var(--section-banner-height, 100vh) * 0.85), 56vw);
    --rocket-right: 0;
}

.section-banner .rocket-hero .rocket-hero__layout {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: min(var(--asmart-block-content-width), calc(100% - (2 * var(--asmart-block-pad-x))));
    max-width: var(--asmart-block-content-width);
    margin-inline: auto;
    height: 100%;
    pointer-events: none;
}

.section-banner .rocket-hero .rocket-hero__rocket-scene {
    --rocket-right: 0;
    right: 0;
}

@media (min-width: 992px) {
    .section-banner .rocket-hero .rocket-hero__rocket-scene {
        --rocket-right: calc((var(--banner-btn-width) - var(--rocket-width)) / 2);
        right: calc((var(--banner-btn-width) - var(--rocket-width)) / 2);
    }
}

.section-banner__content {
    position: relative;
    z-index: 10;
}

/* Let the rocket react across the whole hero while keeping its controls usable. */
.main-banner > .section-banner__content {
    pointer-events: none;
}

.main-banner .banner-link,
.main-banner .banner-btn a,
.main-banner #callback-form {
    pointer-events: auto;
}

.main-banner .banner-link {
    display: none;
}

.section-banner > .asmart-container.section-banner__content {
    flex: 1 1 auto;
    min-height: 0;
}

.section-banner__bottom-gradient {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
    object-fit: cover;
    object-position: bottom center;
}

.section-banner .marquee {
    position: relative;
    z-index: 8;
    flex-shrink: 0;
    padding: 0 0 1.5rem;
}

.section-banner__mobile-bg {
    display: none;
}

@media (max-width: 767.98px) {
    .section-banner {
        --section-banner-marquee-gap: 2.75rem;
        --section-banner-marquee-height: calc(1.4375rem + 16px);
        --section-banner-height: calc(100vh - var(--site-header-height));
        --section-banner-height: calc(100dvh - var(--site-header-height));
        height: var(--section-banner-height);
        min-height: var(--section-banner-height);
        max-height: var(--section-banner-height);
        flex-shrink: 0;
        justify-content: flex-start;
    }

    .section-banner .rocket-hero {
        display: none !important;
    }

    .section-banner__mobile-bg {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-color: #031523;
        background-image: url('../../../images/banner_360.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    @media (min-width: 361px) {
        .section-banner__mobile-bg {
            background-image: url('../../../images/banner_480.jpg');
        }
    }

    @media (min-width: 481px) {
        .section-banner__mobile-bg {
            background-image: url('../../../images/banner_767.jpg');
        }
    }

    .section-banner > .asmart-container.section-banner__content {
        flex: 1 1 auto;
        min-height: 0;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .main-banner .banner-block-title.title-line-large:before {
        left: -13px;
    }

    .main-banner .banner-block-title.title-line-large {
        padding-left: 0;
    }

    .section-banner .marquee {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 0 0 16px;
    }

    .section-banner .marquee #marquee-banner {
        padding-bottom: 0;
    }

    .section-banner__content .banner-block {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding-bottom: 0;
    }

    .section-banner .banner-btn {
        position: absolute;
        left: 0;
        right: 0;
        bottom: calc(var(--section-banner-marquee-height) + var(--section-banner-marquee-gap));
        width: min(100%, 18.5rem);
        max-width: 18.5rem;
        margin-inline: auto;
        margin-top: 0;
        padding-left: 0;
        z-index: 2;
    }

    .section-banner .banner-text.text-24 {
        font-size: 1rem;
    }

    .marquee-item-text.text-24 {
        font-size: 0.75rem;
    }

    .section-banner .banner-title {
        margin-bottom: 1.125rem;
    }
}

@media (min-width: 768px) {
    .section-banner .banner-btn {
        position: static;
        bottom: auto;
        left: auto;
        width: var(--banner-btn-width);
        max-width: none;
        align-self: end;
        margin-top: 0;
        padding-left: 0;
    }

    .section-banner__content .banner-block {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
}

@media (max-height: 900px) and (min-width: 768px) {
    .section-banner {
        --section-banner-content-top: 2.5rem;
        --section-banner-marquee-space: 7rem;
    }

    .section-banner > .asmart-container.section-banner__content {
        padding-bottom: 1.5rem;
    }

    .section-banner .banner-block {
        padding-top: var(--section-banner-content-top);
    }

    /*.section-banner .banner-title {*/
    /*    margin-bottom: 2rem;*/
    /*}*/
    .banner-btn-block {
        margin: 2.5rem -2rem 1.5rem;
    }

    .section-banner .marquee {
        padding: 1.5rem 0 1.25rem;
    }
}

@media (max-height: 700px) and (min-width: 768px) {
    .section-banner {
        --section-banner-content-top: 1.5rem;
        --section-banner-marquee-space: 5.5rem;
    }

    .banner-block {
        padding-top: var(--section-banner-content-top);
    }

    .banner-title {
        margin-bottom: 1.25rem;
    }

    .banner-link {
        margin-top: 1.5rem;
    }

    .section-banner .marquee {
        padding: 1rem 0;
    }
}

@media (max-height: 679.98px) and (min-width: 768px),
(min-width: 1921px) and (max-height: 780.98px) {
    .section-banner {
        height: auto;
        max-height: none;
    }

    .section-banner > .asmart-container.section-banner__content {
        flex: 0 0 auto;
    }

    .section-banner__content .banner-block {
        height: auto;
    }

    .section-banner .marquee {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        padding: 1rem 0;
    }
}

@property --title-line-scale {
    syntax: '<number>';
    inherits: true;
    initial-value: 1;
}

.title-line-large {
    --title-line-scale: 1;
    --title-line-origin: top center;
}

.title-line-large:before {
    width: 0.5rem;
    transform: scaleY(var(--title-line-scale));
    transform-origin: var(--title-line-origin);
    will-change: transform;
    transition: --title-line-scale 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .title-line-large:before {
        transform: none;
        transition: none;
        will-change: auto;
    }
}

.banner-block {
    padding-top: var(--section-banner-content-top, 3.75rem);
}

.banner-block .banner-block-title {
    max-width: 45%;
}

.banner-block-title__content.title-line:before {
    height: calc(100% - 1rem);
    bottom: 0;
}

.banner-block-title__content .banner-title {
    margin-bottom: 0;
}

.banner-block-title__content .banner-text {
    margin-top: 30px;
}

.asmart-hero-banner .banner-block-title__content--services.title-line:before {
    top: 0;
    height: 100%;
}

.asmart-hero-banner .banner-block .banner-block-title__content--services .banner-btn-block {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .asmart-hero-banner .banner-block .banner-block-title--services {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .asmart-hero-banner .banner-block-title__content--services .banner-text {
        margin-top: 50px;
    }
}

.banner-title {
    margin-bottom: 3.75rem;
}

.banner-text {
    line-height: 1.2;
}

.banner-btn-block {
    margin: 5rem -2rem 2.5rem;
}

.banner-btn-block a {
    margin: 0 2rem;
}

.banner-link {
    margin-top: 5rem;
    color: var(--asmart-accent);
}

.banner-link span {
    margin-left: 1.5rem;
}

.banner-btn {
    width: var(--banner-btn-width);
    align-self: end;
}

.banner-block .btn {
    max-width: 100%;
    height: 3.75rem;
    padding: 0 4rem;
    z-index: 2;
}

#callback-form,
#callback-form-popup {
    transition: all 0.3s ease;
    width: 100%;
    max-width: 32.5rem;
    background: rgba(0, 0, 0, 0.85);
    z-index: 2;
}

#callback-form {
    position: absolute;
    right: 0;
    top: calc(50% + 2rem);
    transform: translate(0, calc(-50% + 2rem));
    display: flex;
    flex-direction: column;
}

@media (min-width: 1200px) {
    .main-banner #callback-form {
        position: relative;
        top: auto;
        right: auto;
        flex: 0 0 32.5rem;
        align-self: flex-start;
        max-height: calc(
            var(--section-banner-height) -
            var(--section-banner-content-top) -
            var(--section-banner-marquee-space)
        );
        overflow: hidden;
        transform: none;
    }

    .main-banner #callback-form .banner-form-wrapper {
        max-height: inherit;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-color: var(--asmart-accent) rgba(255, 255, 255, 0.12);
        scrollbar-width: thin;
    }
}

#callback-form .banner-form-wrapper {
    min-height: 0;
}

#callback-form .form,
#callback-form-popup .form {
    animation: slideUp 0.4s ease;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.banner-form-wrapper {
    padding: 2rem 2.5rem 2.5rem 2.5rem;
}

.form-top-wrapper {
    width: 100%;
    margin-bottom: 1.5rem;
}

.banner-form-title {
    width: 100%;
}

.banner-form-desc {
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    margin-top: 0.75rem;
}

.banner-form-desc > .form-desc {
    flex: 0 1 auto;
}

.banner-form-desc .banner-form-contacts {
    flex: 0 0 auto;
    align-self: flex-start;
    gap: 5px;
    margin-top: -5px;
}

.banner-form-contact {
    width: 100%;
    justify-content: flex-end;
    color: var(--asmart-accent);
    text-decoration: none;
}

.banner-form-contact svg {
    flex: 0 0 auto;
}

.banner-form-contact:hover {
    opacity: 0.85;
}

.form-title .form-desc {
    letter-spacing: 0;
    max-width: 55%;
}

#callback-form .success-title,
#callback-form-popup .success-title {
    max-width: 40%;
}

.form-contacts {
    font-size: 1rem;
    font-weight: 500;
    margin-top: 2rem;
}

.form-contacts > div:last-child {
    margin-left: auto;
}

.form-contacts-shedule > div:first-child {
    margin-bottom: 1.125em;
}

.form-contacts .shedule-text > div:first-child {
    margin-bottom: 6px;
}

/* Fancybox: callback */
.fancybox-container.b-fancybox-callback .fancybox-bg {
    background: rgba(3, 21, 35, 0.85);
}

.fancybox-container.b-fancybox-callback .fancybox-slide--html {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fancybox-container.b-fancybox-callback .fancybox-content {
    width: 100%;
    max-width: 32.5rem;
    height: auto !important;
    padding: 0;
    background: var(--color-font);
    border-radius: 0;
}

.fancybox-container.b-fancybox-callback .fancybox-button {
    color: var(--asmart-accent);
}

.fancybox-container.b-fancybox-callback #callback-form-popup {
    display: block !important;
    max-width: 32.5rem;
    height: auto;
}

.fancybox-container.b-fancybox-callback .banner-form-contacts a {
    color: var(--asmart-accent);
    text-decoration: none;
}

.fancybox-container.b-fancybox-callback .banner-form-contacts a:hover {
    opacity: 0.85;
}

.banner-form-contacts {
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    font-size: 0.75rem;
    font-weight: 500;
}

.banner-form-contacts__mobile, .form-contacts__mobile, .form-desc__mobile, .form-subtitle__mobile {
    display: none;
}

@media (min-width: 1200px) and (max-height: 900px) {
    .main-banner #callback-form .banner-form-wrapper {
        padding: 1.5rem 2rem 2rem;
    }

    .main-banner #callback-form .form-top-wrapper,
    .main-banner #callback-form .wpcf7-form-control-wrap {
        margin-bottom: 1rem;
    }

    .main-banner #callback-form .form-contacts {
        margin-top: 1.25rem;
    }
}

@media (min-width: 1200px) {
    .main-banner #callback-form .banner-form-wrapper::-webkit-scrollbar {
        width: 4px;
    }

    .main-banner #callback-form .banner-form-wrapper::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.12);
    }

    .main-banner #callback-form .banner-form-wrapper::-webkit-scrollbar-thumb {
        background: var(--asmart-accent);
    }
}

/* Fancybox: form success */
.fancybox-container.b-fancybox-registr-success {
    max-height: calc(100% - 4.25rem);
    top: 4.25rem;
}

.fancybox-container.b-fancybox-registr-success .fancybox-slide--html {
    padding: 0;
}

.fancybox-container.b-fancybox-registr-success .fancybox-content {
    width: 100%;
    height: 100%;
    padding: 0;
    background: #000;
    overflow: hidden;
}

.fancybox-container.b-fancybox-registr-success .fancybox-button {
    color: var(--asmart-accent);
    z-index: 5;
}

/*====================================================
                      END Banner
======================================================*/

.asmart-news-gallery__slider.swiper-horizontal > .swiper-scrollbar {
    width: 100%;
    left: 0;
}

/*====================================================
                      Services
======================================================*/
.banner-btn-block a {
    font-size: 1.25rem;
}

.asmart-hero-banner .banner-btn-block--swap .banner-btn-block__link {
    --btn-fill-gradient: linear-gradient(90deg, #77BC1F 0%, #D3FF00 100%);
    transition: background 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

.asmart-hero-banner .banner-btn-block--swap .banner-btn-block__link--primary,
.asmart-hero-banner .banner-btn-block--swap:has(.banner-btn-block__link--secondary:hover) .banner-btn-block__link--secondary {
    background: var(--btn-fill-gradient) padding-box, var(--btn-fill-gradient) border-box;
    border: 3px solid transparent;
    color: var(--color-font);
}

.asmart-hero-banner .banner-btn-block--swap:has(.banner-btn-block__link--secondary:hover) .banner-btn-block__link--primary {
    background: transparent;
    border: 3px solid var(--asmart-accent);
    color: var(--asmart-accent);
}

.hero-component .banner-block .banner-block-title {
    max-width: 100%;
}

.hero-component .banner-block .banner-title {
    max-width: 75%;
}

.hero-component .banner-block .banner-text {
    max-width: 53%;
    font-weight: 400;
}

.asmart-hero-banner--parallax {
    background: #0c5f9d;
}

.asmart-hero-banner--parallax.asmart-hero-banner--has-image {
    background-image: none;
}

.asmart-hero-banner__parallax {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.asmart-hero-banner--parallax .operator-parallax {
    --operator-parallax-height: 100%;
    --operator-parallax-min-height: 0;
    height: 100%;
    min-height: 0;
    width: 100%;
}

@media (max-width: 767.98px) {
    .asmart-hero-banner--parallax .asmart-hero-banner__parallax {
        display: none;
    }

    .asmart-hero-banner--parallax {
        background-color: #031523;
        background-image: url('../../../images/bg_services_360.jpg');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    @media (min-width: 361px) {
        .asmart-hero-banner--parallax {
            background-image: url('../../../images/bg_services_480.jpg');
        }
    }

    @media (min-width: 481px) {
        .asmart-hero-banner--parallax {
            background-image: url('../../../images/bg_services_767.jpg');
        }
    }
}

.asmart-hero-banner.asmart-hero-banner--has-image {
    background-color: #031523;
    background-image: var(--hero-banner-bg, none);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 991.98px) {
    .asmart-hero-banner.asmart-hero-banner--has-image {
        background-image: var(--hero-banner-bg-pad, var(--hero-banner-bg, none));
    }
}

@media (max-width: 479.98px) {
    .asmart-hero-banner.asmart-hero-banner--has-image {
        background-image: var(--hero-banner-bg-mobile, var(--hero-banner-bg-pad, var(--hero-banner-bg, none)));
    }
}

.section-image-card .section-top {
    max-width: 70%;
}

.block-image-card {
    position: relative;
    z-index: 1;
}

.block-image-card-item {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 5rem;
}

.block-image-card-item:last-child {
    margin-bottom: 0;
}

.block-image-card-item.odd {
    -webkit-box-orient: revert;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 5.625rem;
}

.block-image-card-item.even, .block-image-card-actions {
    padding-left: 2rem;
}

.block-image-card-item:last-child .item-title {
    padding-top: 1.25rem;
}

.block-image-card-item .item-desc {
    flex: 1 1 45%;
    max-width: 45%;
}

.block-image-card-item .item-title {
    line-height: 1.15;
}

.block-image-card-item .item-text {
    line-height: 1.1;
}

.block-image-card-item .item-image {
    flex: 0 1 55%;
    max-width: 55%;
    margin-left: auto;
}

#section-image-card .item-image__mobile {
    display: none;
}

#section-image-card .item-title-slot--mobile,
#section-image-card .item-text--mobile {
    display: none;
}

#section-image-card .item-image__mobile .image-card-media {
    clip-path: polygon(0 0, 88% 0, 100% 100%, 12% 100%);
    -webkit-clip-path: polygon(0 0, 88% 0, 100% 100%, 12% 100%);
}

#section-image-card .item-image__mobile img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 767.98px) {
    #section-image-card .item-image--has-mobile .item-image__desktop {
        display: none;
    }

    #section-image-card .item-image__mobile {
        display: block;
    }

    #section-image-card .item-title-slot--desktop,
    #section-image-card .item-text--desktop {
        display: none;
    }

    #section-image-card .item-title-slot--mobile,
    #section-image-card .item-text--mobile {
        display: block;
    }

    #section-image-card .item-image__mobile .image-card-media {
        clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
        -webkit-clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    }

    #section-image-card .block-image-card-item.even .item-image__mobile .image-card-media {
        clip-path: polygon(0 0, 78% 0, 100% 100%, 22% 100%);
        -webkit-clip-path: polygon(0 0, 78% 0, 100% 100%, 22% 100%);
    }
}

.image-card-flip {
    --image-card-reveal-duration: 1.75s;
    width: 100%;
    opacity: 0;
    transform: translate3d(0, -4rem, 0) scale(0.18);
    transform-origin: center top;
    will-change: transform, opacity;
}

.image-card-flip.is-revealed {
    animation: companyImageAppear var(--image-card-reveal-duration) cubic-bezier(0.33, 0, 0.2, 1) forwards;
}

.image-card-flip__scene {
    display: block;
    width: 100%;
    line-height: 0;
    perspective: 1200px;
    perspective-origin: 50% 40%;
}

.image-card-flip__card {
    position: relative;
    display: block;
    width: 100%;
    line-height: 0;
    transform: rotateX(180deg);
    transform-origin: center center;
    transform-style: preserve-3d;
    will-change: transform;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 10% 100%);
    -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 10% 100%);
}

.image-card-flip.is-revealed .image-card-flip__card {
    animation: companyImageFlip var(--image-card-reveal-duration) cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.image-card-flip__face {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.image-card-flip__face--front {
    position: relative;
    transform: rotateX(0deg);
}

.image-card-flip__face--front img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2.87 / 1;
    object-fit: cover;
}

.image-card-media {
    clip-path: polygon(0 0, 80% 0, 100% 100%, 20% 100%);
    -webkit-clip-path: polygon(0 0, 80% 0, 100% 100%, 20% 100%);
    overflow: hidden;
    width: 100%;
}

.image-card-media__video,
.image-card-media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2.87 / 1;
    object-fit: cover;
    vertical-align: top;
}

.image-card-media--video.image-card-flip.is-revealed {
    animation: companyImageAppear var(--image-card-reveal-duration) cubic-bezier(0.33, 0, 0.2, 1) forwards;
}

.image-card-flip__face--back {
    position: absolute;
    inset: 0;
    background: var(--asmart-accent);
    transform: rotateX(180deg);
    -webkit-mask-image: var(--image-card-flip-mask);
    mask-image: var(--image-card-flip-mask);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

@media (prefers-reduced-motion: reduce) {
    .image-card-flip {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .image-card-flip__card {
        transform: rotateX(0deg) !important;
        animation: none !important;
    }
}

.block-image-card-actions {
    margin-top: 5rem;
    max-width: 22.5rem;
}

.block-image-card-actions--mobile {
    display: none;
}

@media (max-width: 900px) {
    .section-image-card .section-top {
        max-width: 100%;
    }

    .block-image-card-actions {
        margin-top: 3rem;
    }
}

.image-card-mobile {
    display: none;
}

@media (max-width: 767.98px) {
    #section-image-card > .asmart-container.asmart-block-container {
        width: calc(100% - 2rem);
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    #section-image-card .section-image-card-top .title-line-large {
        padding-left: 0;
    }

    #section-image-card .section-image-card-top .title-line-large:before {
        left: -13px;
    }

    #section-image-card .section-image-card-top {
        margin-bottom: 2.5rem;
    }

    #section-image-card .section-image-card-top.mb-80 {
        margin-bottom: 2.5rem;
    }

    #section-image-card .block-image-card-item,
    #section-image-card .block-image-card-item.odd,
    #section-image-card .block-image-card-item:last-child {
        position: relative;
        margin-bottom: 2.5rem;
        justify-content: flex-start;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }

    #section-image-card .block-image-card-item:last-child {
        margin-bottom: 0;
    }

    #section-image-card .block-image-card-item .item-desc {
        position: relative;
        z-index: 2;
        flex: none;
        width: 50%;
        max-width: 50%;
        min-width: 0;
    }

    #section-image-card .block-image-card-item.even {
        padding-left: 0;
    }

    #section-image-card .block-image-card-item .item-title {
        max-width: 100%;
        font-size: 1rem;
        line-height: 1.15;
    }

    #section-image-card .block-image-card-item.item-1 .item-title-reveal__line:first-child {
        letter-spacing: -0.06em;
    }

    #section-image-card .block-image-card-item .item-text {
        font-size: 0.875rem;
        line-height: 1;
        margin-top: 0.75rem;
    }

    #section-image-card .block-image-card-item .item-title-reveal__char.wow,
    #section-image-card .block-image-card-item .item-text-reveal.wow {
        visibility: visible !important;
        animation: none !important;
        -webkit-animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
    }

    #section-image-card .block-image-card-item .item-title-reveal__char {
        display: inline;
    }

    #section-image-card .block-image-card-item .item-title-reveal__char--space {
        display: inline;
        width: auto;
    }

    #section-image-card .block-image-card-item .item-image {
        position: relative;
        flex: none;
        width: 80%;
        max-width: 80%;
        z-index: 1;
        pointer-events: none;
    }

    #section-image-card .block-image-card-item.item-0 .item-image,
    #section-image-card .block-image-card-item.item-2 .item-image {
        right: 0;
        left: auto;
    }

    #section-image-card .block-image-card-item.item-1 .item-image {
        left: 20%;
        right: auto;
    }

    #section-image-card .block-image-card-item.item-0 .item-desc,
    #section-image-card .block-image-card-item.item-2 .item-desc {
        margin-left: 0;
    }

    #section-image-card .block-image-card-item.item-1 .item-desc {
        margin-left: auto;
    }

    #section-image-card .image-card-flip {
        opacity: 1;
        transform: none;
        animation: none !important;
    }

    #section-image-card .image-card-flip.image-card-media--video {
        opacity: 1;
        transform: none;
    }

    #section-image-card .image-card-flip__card {
        transform: none;
        animation: none !important;
    }

    #section-image-card .block-image-card-actions--desktop {
        display: none;
    }

    #section-image-card .block-image-card-actions--mobile {
        display: block;
        width: 100%;
        max-width: 296px;
        margin: 2.75rem auto 0;
        padding-left: 0;
    }

    #section-image-card .block-image-card-actions--mobile .btn {
        width: 100%;
    }

    #marquee-clients {
        gap: 2.5rem;
    }
}

.section-list-card__head {
    margin-bottom: 5.25rem;
    max-width: 70%;
}

.section-list-card__title {
    line-height: 1.05;
    letter-spacing: 0.02em;
}

.section-list-card__title + .section-list-card__title {
    margin-top: 0.15em;
}

.block-list-card-item__icon {
    flex: 0 0 8rem;
    width: 2rem;
    line-height: 0;
}

.block-list-card-item__icon svg {
    display: block;
    width: 2rem;
    height: auto;
}

.block-list-card-item__title {
    flex: 0 1 38%;
    max-width: 38%;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.block-list-card-item__title p {
    margin: 0;
}

.block-list-card-item__text {
    flex: 1 1 auto;
    font-size: 1.125rem;
    line-height: 1.35;
    color: rgba(0, 0, 0, 0.9);
    padding-left: 4rem;
}

.block-list-card-item__text p {
    margin: 0;
}

.block-list-card-actions {
    margin-top: 3.5rem;
    padding-left: 2rem;
    max-width: 22.5rem;
}

.block-list-card-actions .btn {
    letter-spacing: 0.05em;
}

.block-list-card-item {
    padding: 1.75rem 0;
    border-bottom: 1px solid #000;
}

.block-list-card-item:first-child {
    padding-top: 0;
}

.block-list-card-item:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.section-list-card .block-list-card-item[data-list-card-reveal],
.section-list-card .block-list-card-actions[data-list-card-reveal] {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
    transition: opacity 0.6s cubic-bezier(0.33, 0, 0.2, 1), transform 0.6s cubic-bezier(0.33, 0, 0.2, 1);
    will-change: opacity, transform;
}

.section-list-card .block-list-card-item[data-list-card-reveal].is-revealed,
.section-list-card .block-list-card-actions[data-list-card-reveal].is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__icon,
.section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__title,
.section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__text {
    opacity: 0;
    transform: translate3d(-1rem, 0, 0);
    transition: opacity 0.5s cubic-bezier(0.33, 0, 0.2, 1), transform 0.5s cubic-bezier(0.33, 0, 0.2, 1);
}

.section-list-card .block-list-card-item[data-list-card-reveal].is-revealed .block-list-card-item__icon {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition-delay: 0.35s;
}

.section-list-card .block-list-card-item[data-list-card-reveal].is-revealed .block-list-card-item__title {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition-delay: 0.55s;
}

.section-list-card .block-list-card-item[data-list-card-reveal].is-revealed .block-list-card-item__text {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition-delay: 0.75s;
}

@media (prefers-reduced-motion: reduce) {
    .section-list-card .block-list-card-item[data-list-card-reveal],
    .section-list-card .block-list-card-actions[data-list-card-reveal],
    .section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__icon,
    .section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__title,
    .section-list-card .block-list-card-item[data-list-card-reveal] .block-list-card-item__text {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }
}

@media (max-width: 900px) {
    .section-list-card__head {
        max-width: 100%;
        margin-bottom: 3rem;
    }

    .block-list-card-item {
        display: grid;
        grid-template-columns: 28px 1fr;
        gap: 1rem 1.5rem;
        padding: 1.75rem 0;
    }

    .block-list-card-item__icon {
        grid-row: 1;
    }

    .block-list-card-item__title {
        grid-column: 2;
        flex: none;
        max-width: none;
    }

    .block-list-card-item__icon {
        flex: 0 0 2rem;
    }

    .block-list-card-actions {
        margin-top: 2.5rem;
    }
}

.section-image-card-2 {
    color: #fff;
}

.section-image-card-2__layout {
    display: grid;
    grid-template-columns: 1fr 22.5rem;
    grid-template-areas:
        "head actions"
        "blocks blocks";
    align-items: start;
    column-gap: 2rem;
}

.section-image-card-2__head {
    grid-area: head;
    flex: 1 1 auto;
    max-width: 55%;
    margin-bottom: 5rem;
}

.section-image-card-2__head .title-line-large:before {
    background: var(--asmart-accent, #a2dd22);
}

.section-image-card-2__actions {
    grid-area: actions;
    flex: 0 0 auto;
    width: 22.5rem;
}

.section-image-card-2__actions .btn {
    letter-spacing: 0.05em;
}

.block-image-card-2 {
    grid-area: blocks;
    gap: 2.5rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.block-image-card-2-item {
    flex: 1 1 0;
    min-width: 0;
}

.block-image-card-2-item__image {
    overflow: hidden;
    margin-bottom: 2rem;
}

.block-image-card-2-item__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.block-image-card-2-item__image video,
.block-image-card-2-item__video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #000;
}

.block-image-card-2-item__title {
    line-height: 1.25;
}

.block-image-card-2-item__title p {
    margin: 0;
}

@media (max-width: 1100px) {
    .block-image-card-2 {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .block-image-card-2-item {
        flex: unset;
        width: calc(50% - 2rem);
    }

    .banner-btn-block {
        margin: 5rem 0 2.5rem;
    }

    .block-image-card-item.even, .block-image-card-actions {
        padding-left: 0.875rem;
    }
}

@media (max-width: 900px) {
    .section-image-card-2__layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "head"
            "actions"
            "blocks";
    }

    .section-image-card-2__head {
        max-width: 100%;
        margin-bottom: 2rem;
    }

    .section-image-card-2__actions {
        width: 100%;
        margin-bottom: 1rem;
    }

    .section-image-card-2__head {
        margin-bottom: 2rem;
    }

    .section-image-card-2__actions {
        width: 100%;
        margin: 2rem auto 0;
        margin-bottom: 0;
        max-width: 296px;
    }

    .section-image-card-2__actions .btn {
        width: 100%;
    }

    .section-image-card-2__layout {
        grid-template-areas:
            "head"
            "blocks"
            "actions";
    }

    .block-form-top .form-desc {
        max-width: 90%;
    }
}

.section-advantages-card__head {
    max-width: 70%;
}

.section-advantages-card__title {
    line-height: 1.05;
    letter-spacing: 0.02em;
}

.block-advantages-card {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 3.75rem;
    row-gap: 3.75rem;
}

.block-advantages-card-item__top {
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.block-advantages-card-item__icon {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    line-height: 0;
}

.block-advantages-card-item__icon img,
.block-advantages-card-item__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.block-advantages-card-item__icon svg {
    pointer-events: none;
}

.block-advantages-card-item__icon svg[data-advantages-animated-svg]:not(.is-animation-ready) {
    visibility: hidden;
}

.block-advantages-card-item__title {
    font-size: 1.5rem;
    line-height: 1.15;
    letter-spacing: 0.04em;
}

.block-advantages-card-item__title p {
    margin: 0;
}

.block-advantages-card-item__text {
    font-size: 1.125rem;
    line-height: 1.35;
    max-width: 18rem;
}

.block-advantages-card-item__text p {
    margin: 0;
}

.block-advantages-card-actions {
    margin-top: 5rem;
    width: 22.5rem;
}

.block-advantages-card-actions a {
    letter-spacing: 0.05em;
}

@media (max-width: 1100px) {
    .block-advantages-card {
        column-gap: 2.5rem;
        row-gap: 3.5rem;
    }
}

@media (max-width: 900px) {
    .section-advantages-card__head {
        max-width: 100%;
        margin-bottom: 3rem;
    }

    .block-advantages-card {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
        row-gap: 3rem;
    }

    .block-advantages-card-actions {
        margin-top: 3rem;
    }
}

@media (max-width: 600px) {
    .block-advantages-card {
        grid-template-columns: 1fr;
    }

    .block-advantages-card-item__text {
        max-width: none;
    }
}

.registr-success {
    width: 100%;
    height: 100%;
    min-height: 100%;
}

.registr-success__top,
.registr-success__bottom {
    min-height: 0;
    width: 100%;
}

.registr-success__top {
    flex: 1 1 65%;
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    padding: 3rem 0;
}

.registr-success__heading {
    max-width: 42%;
}

.registr-success__title {
    line-height: 1.05;
    margin-bottom: 1.25rem;
}

.registr-success__subtitle {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: var(--asmart-accent);
    margin-top: 1.25rem;
}

.registr-success__bottom {
    flex: 1 1 35%;
    overflow: hidden;
    padding: 3rem 0;
}

.registr-success__bottom-inner {
    gap: 3rem;
}

.registr-success__questions {
    font-size: 2rem;
    line-height: 1.05;
}

.registr-success__contacts {
    flex: 0 1 50%;
    max-width: 50%;
}

.registr-success__contact {
    gap: 2rem;
    margin-bottom: 2rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.registr-success__contact:last-child {
    margin-bottom: 0;
}

.registr-success__contact-icon {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    line-height: 0;
    margin-top: 0.15rem;
}

.registr-success__contact-text {
    line-height: 1.35;
    text-decoration: none;
}

.registr-success__contact-text a {
    text-decoration: none;
}

@media (max-width: 900px) {
    .registr-success__heading,
    .registr-success__questions,
    .registr-success__contacts {
        max-width: 100%;
        flex-basis: auto;
    }

    .registr-success__subtitle {
        padding-left: 0;
        max-width: 50%;
    }

    .registr-success__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }

    .registr-success__top {
        background-position: center center;
    }
}

/*====================================================
                      END Services
======================================================*/

/*====================================================
                      Responsive (global)
======================================================*/

@media (max-width: 1399px) {
    .block-contacts {
        margin: 0 -1.5rem;
    }

    .block-contacts > div {
        margin: 0 1.5rem;
        width: calc(100% / 3 - 3rem);
    }

    .marquee {
        padding: 0;
    }
}

@media (max-width: 1299px) {
    .block-contacts {
        margin: 0 -0.5rem;
    }

    .block-contacts > div {
        margin: 0 0.5rem;
        width: calc(100% / 3 - 1rem);
    }

    .block-company-item.item-0 .item-image {
        max-width: 55%;
    }

    .counter-title {
        font-size: 4.5rem;
    }
}

@media (max-width: 1199px) {
    .site-footer-bottom .site-footer-container > div {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .block-contacts {
        width: 100%;
        margin-bottom: 2rem;
    }

    .block-company-item.item-0 .item-image {
        transform: translate(-6rem, -30%);
    }

    .asmart-grid-news-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1100.98px) {
    .block-advantages-card {
        grid-template-columns: repeat(2, 1fr);
    }

    .block-image-card-item {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 5rem;
    }

    .asmart-news-detail {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .asmart-card-news-detail__sidebar-title {
        padding-right: 0;
        margin: 0 0 2rem;
        text-align: center;
        font-weight: 700 !important;
    }

    .block-contacts {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .block-contacts > div {
        width: calc(100% / 2 - 1rem);
    }

    .block-contacts-group {
        width: 100% !important;
        margin-top: 2.5rem !important;
    }

    .block-company-item.item-0 .item-desc {
        padding-left: 0.875rem;
    }
}

@media (max-width: 991.98px) {
    .callback-form-popup .form-desc, .banner-form-contacts, .form-contacts {
        display: none !important;
    }

    .callback-form-popup .form-contacts__mobile, .callback-form-popup .form-desc__mobile {
        display: block !important;
    }

    .form-contacts__mobile a span {
        margin-left: 0.875rem;
    }

    .form-contacts__mobile a {
        margin-bottom: 1rem;
    }

    .form-contacts__mobile a:last-child {
        margin-bottom: 0;
    }

    .form-title .form-desc {
        max-width: 90%;
        margin-top: 0.875rem;
    }

    .banner-form-wrapper {
        padding: 2rem;
    }

    .block-counter {
        gap: 5rem;
    }

    .video-slider {
        min-height: 0;
        position: relative;
    }

    .video-slider .swiper-pagination-banner {
        position: absolute !important;
        top: var(--video-slider-pagination-top, auto) !important;
        bottom: auto !important;
        left: 50% !important;
        transform: translate(-50%, calc(-100% - 1.5rem));
        z-index: 3;
        width: calc(100% - 3rem);
        max-width: 80%;
        margin: 0;
    }

    .video-slider .swiper-slide {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        min-height: 0;
        max-height: none;
        padding-bottom: 0;
        overflow: visible;
    }

    .video-slider .slide-video {
        position: relative;
        order: 2;
        inset: auto;
        width: 100%;
        pointer-events: auto;
        overflow: hidden;
    }

    .video-slider .slide-text-area {
        order: 1;
        padding: 0;
    }

    .video-slider .slide-text-wrapper {
        background: #000;
        padding: 2.25rem var(--site-header-pad-x, 3.75rem);
    }

    .video-slider .slide-text-wrapper__bg {
        display: none;
    }

    .video-slider .slide-text {
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .video-slider .slide-text-title {
        order: 1;
    }

    .video-slider .slide-text-note {
        order: 2;
        margin-bottom: 0;
        margin-top: 28px;
    }

    .video-slider .video-bg {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .video-slider .slider-btn {
        top: var(--video-slider-nav-top, 65%);
        transform: translateY(-50%);
    }

    .video-slider .slider-btn.slider-btn-prev {
        left: 1rem;
    }

    .video-slider .slider-btn.slider-btn-next {
        right: 1rem;
    }

    .asmart-grid-news-list {
        gap: 2.5rem;
    }

    .site-footer-block.block-social {
        -webkit-box-orient: revert;
        -webkit-box-direction: revert;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .block-counter {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .block-social-link a {
        margin: 0 0.75rem;
    }

    .block-social-link {
        margin: 0 -0.75rem;
        margin-bottom: 0.75rem;
    }

    .block-social-text {
        text-align: center;
    }

    .banner-btn {
        width: 20rem;
        align-self: start;
        margin-top: 7.5rem;
        padding-left: 0.875rem;
    }

    .block-counter-item {
        text-align: center;
        display: -webkit-flex;
        display: -webkit-box;
        display: -moz-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .block-counter-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: revert;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .hero-component .banner-block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: revert;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .block-counter {
        gap: 2rem;
        padding: 4rem 2rem;
    }

    .counter-text {
        text-transform: uppercase;
    }

    .counter-title {
        letter-spacing: -0.05em;
        font-weight: 400;
    }

    .bg-counter.bg-black {
        background: url('../../../images/numbers_background.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .banner-block .banner-block-title {
        max-width: 60%;
    }

    .banner-block .btn[data-form] {
        background: transparent;
        border: 2px solid var(--asmart-accent);
        color: var(--asmart-accent);
    }

    .form-contacts__mobile {
        margin-top: 2.5rem;
    }

    .registr-success__top {
        flex: 1 1 55%;
    }

    .registr-success__bottom {
        flex: 1 1 45%;
    }

    .registr-success__bottom-inner {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 2rem;
    }

    .registr-success__questions {
        margin: 0 auto;
        width: 100%;
        text-align: center;
    }

    .registr-success .form-desc__mobile {
        max-width: 50%;
        text-align: center;
        margin: 0 auto;
    }

    .registr-success__contacts {
        flex: 0 1 100%;
        max-width: 100%;
        display: -webkit-flex;
        display: -webkit-box;
        display: -moz-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 3.75rem;
    }

    .registr-success__contact {
        margin-bottom: 0;
    }

    .registr-success__contact-text {
        display: none;
    }

    .form-title-text {
        font-size: 1.75rem !important;
        text-transform: uppercase;
    }

    .section-banner__content .banner-block-title {
        display: -webkit-flex;
        display: -webkit-box;
        display: -moz-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex: 0 0 auto;
        height: auto;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .section-banner__content .banner-block-title, .banner-btn-block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .banner-btn-block {
        -webkit-box-align: center !important;
        -webkit-align-items: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        align-self: center;
        flex: 0 0 auto;
        width: 100%;
        max-width: 296px;
        margin: 2.25rem auto 0;
    }

    .hero-component .banner-block .banner-btn-block {
        margin: 2.25rem auto 0;
    }

    .banner-btn-block a.btn {
        font-size: 1rem;
        height: 2.5rem;
        width: 100%;
        padding: 0;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 1.125rem;
    }

    .banner-btn-block a.btn:last-child {
        margin-bottom: 0;
    }

    .banner-block-title__content .banner-title {
        margin-bottom: 0;
    }

    .banner-block-title__content .banner-text {
        margin-top: 30px;
    }

    .banner-link {
        order: 3;
    }

    .block-image-card-item {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .site-footer-bottom-wrapper {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .banner-form-desc {
        margin-top: 0;
    }

    .hero-component .banner-block .banner-title {
        max-width: 100%;
    }

    .hero-component .banner-block .banner-text {
        max-width: 70%;
    }

    .block-list-card-item {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .block-list-card-item__text {
        width: 100%;
        padding-left: 3rem;
    }

    .block-list-card-item__title {
        flex: 0 1 100%;
        max-width: 100%;
        width: 100%;
        padding-left: 1rem;
        margin-bottom: 0.5rem;
    }

    .block-list-card-item__icon {
        flex: 0 0 0.875rem;
        width: 0.875rem;
    }

    .block-list-card-item__icon svg {
        width: 0.875rem;
    }
}

@media (max-width: 822.98px) {
    .asmart-grid-news-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .section-news .asmart-grid-news--with-head .news-list-wrapper {
        grid-template-columns: 1fr;
        grid-template-areas:
            "top"
            "list"
            "all";
        align-items: stretch;
    }

    .section-news .asmart-grid-news-all {
        margin: 0 auto;
        margin-top: 2rem;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .banner-form-wrapper .form-subtitle__mobile {
        display: block;
    }

    .marquee-content {
        gap: 1.125rem;
    }

    .asmart-grid-news-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .asmart-grid-news-list--desktop {
        display: none;
    }

    .asmart-grid-news-months {
        display: block;
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .asmart-grid-news-month__list {
        justify-items: center;
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .asmart-card-news-card {
        width: 100%;
        max-width: 296px;
        display: flex;
        flex-direction: column;
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .news-card-body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .news-card__text {
        order: 2;
        margin-top: auto;
    }

    .asmart-grid-news:not(.asmart-grid-news--with-head) .asmart-card-news-card time {
        order: 1;
        margin-bottom: 8px;
    }

    .section-news .asmart-grid-news-list-top {
        margin-bottom: 2rem;
        text-align: center;
    }

    .main-page-news .asmart-card-news-card .news-card-head {
        display: none;
    }

    .main-page-news .asmart-card-news-card:first-child .news-card-head {
        display: block;
    }

    .asmart-card-news-card .news-card-body {
        padding-bottom: 1rem;
    }

    .main-page-news .news-card-body {
        border-bottom: 0.5px solid #000;
    }

    .asmart-card-news-card:last-child .news-card-body {
        border-bottom: none;
    }

    .main-page-news .asmart-grid-news-list {
        gap: 1.125rem;
    }

    .block-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: revert;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.75rem;
    }

    .block-partner.block-list {
        -webkit-box-orient: revert;
        -webkit-box-direction: revert;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: revert;
        flex-direction: column-reverse;
    }

    .site-mobile-menu__list a {
        font-size: 1rem;
    }

    .site-mobile-menu__auth-link {
        font-size: 0.75rem;
    }

    .block-form-top .form-desc {
        max-width: 100%;
    }

    .banner-title {
        margin-bottom: 1.125rem;
    }

    .banner-link {
        margin-top: 2rem;
    }

    .banner-link svg {
        width: 1.125rem;
        height: 1.125rem;
    }

    .banner-block .banner-block-title {
        max-width: 82%;
    }

    .asmart-hero-banner .banner-block .banner-block-title {
        align-self: center;
        width: min(296px, calc(100vw - 24px));
        max-width: none;
    }

    .asmart-hero-banner .banner-block-title__content.title-line-large {
        padding-left: 0;
    }

    .asmart-hero-banner .banner-block-title__content.title-line-large:before {
        left: -13px;
    }

    .banner-btn {
        padding-left: 0.875rem;
    }

    .video-slider .slide-text-wrapper {
        padding: 2.25rem var(--site-header-pad-x, 1rem);
    }

    .block-company-item.odd .item-desc {
        margin-right: 0.75rem;
    }

    .marquee-item img {
        margin: 0;
    }

    #marquee-banner .marquee-item img {
        margin: 0 1rem;
    }
    .section-rewards .marquee-item {
        max-width: 5.875rem;
    }

    #marquee-banner .marquee-item img {
        width: 20px;
        height: 23px;
    }

    .site-footer-container {
        padding: 0 2rem;
    }

    .site-footer-form {
        padding: 3.75rem 0 3.75rem;
    }

    .block-form-top .form-title {
        margin-bottom: 1rem;
        text-transform: uppercase;
        font-weight: 700;
    }

    .video-bg-desktop {
        display: none;
    }

    .slide-text-title .btn {
        display: none;
    }

    /* Главная: текст над видео; services (--text-below): текст под видео */
    .asmart-hero-slider--text-below .video-slider .slide-video {
        order: 1;
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: 62.5%;
        overflow: hidden;
        line-height: 0;
        font-size: 0;
        background: #000;
    }

    .asmart-hero-slider--text-below .video-slider .slide-video .video-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    .asmart-hero-slider--text-below .video-slider .slide-text-area {
        order: 2;
    }

    .asmart-hero-slider--text-below .video-slider .slide-text-note {
        order: 1;
        margin-top: 0;
        margin-bottom: 0;
    }

    .asmart-hero-slider--text-below .video-slider .slide-text-title {
        order: 2;
        margin-top: 8px;
    }

    .video-slider .slide-text-note {
        order: 2;
        margin-top: 28px;
        margin-bottom: 0;
    }

    .video-slider .slide-text-title {
        order: 1;
    }

    .video-slider .slide-text {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .section-list-card__title {
        padding-left: 1rem;
        font-weight: 700 !important;
    }

    .block-list-card-item {
        position: relative;
        margin-left: 2rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start !important;
        -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .block-list-card-item:first-child {
        padding-top: 0;
    }

    .block-list-card-item__icon {
        width: 1rem;
        position: absolute;
        left: -2rem;
    }

    .block-list-card-item__icon svg {
        width: 1rem;
    }

    .block-list-card-item__title {
        font-size: 1rem;
    }

    .block-list-card-item:last-child {
        padding-bottom: 0;
    }

    .block-list-card-actions {
        width: 100%;
        max-width: 296px;
        margin: 2.125rem auto 0;
        padding: 0;
    }

    .section-list-card > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .section-list-card .section-list-card__title {
        padding-left: 0;
    }

    .section-list-card .block-list-card-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem 0;
        width: 100%;
        margin-left: 0;
    }

    .section-list-card .block-list-card-item .block-list-card-item__icon {
        left: calc(-1rem - 4px);
    }

    .section-list-card .block-list-card-item .block-list-card-item__title {
        box-sizing: border-box;
        grid-column: 1;
        width: 100%;
        max-width: 100%;
        padding-left: 12px;
    }

    .section-list-card .block-list-card-item .block-list-card-item__text {
        box-sizing: border-box;
        width: 100%;
        padding-left: 12px;
    }

    .block-image-card-2 {
        width: 100%;
        gap: 1.5rem;
    }

    .block-image-card-2-item__image {
        margin-bottom: 1rem;
    }

    .block-image-card-2-item__title {
        font-size: 0.75rem !important;
    }

    .section-advantages-card__title {
        font-weight: 700 !important;
    }

    .block-advantages-card {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 2rem;
    }

    .section-advantages-card__head, .block-advantages-card {
        padding-left: 0;
        padding-right: 0;
    }

    .section-advantages-card > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .block-image-card-2-item {
        width: calc(50% - 0.75rem);
    }

    .block-advantages-card-item__title {
        font-size: 1rem;
    }

    .block-advantages-card-item__text {
        font-size: 0.75rem;
        max-width: 80%;
        padding-left: 3.5rem;
    }

    .block-advantages-card-item__top {
        margin-bottom: 0.5rem;
    }

    .block-list-card-item__text {
        font-size: 0.75rem !important;
    }

    .block-advantages-card-actions {
        width: 100%;
        max-width: 296px;
        margin: 3rem auto 0;
    }

    .image-card-desktop {
        display: none !important;
    }

    .image-card-mobile {
        display: block;
    }

    .asmart-news-gallery__slider.swiper-horizontal .asmart-news-gallery__scrollbar,
    .asmart-news-gallery__slider.swiper-horizontal .asmart-news-gallery__scrollbar .swiper-scrollbar-drag {
        background: var(--asmart-accent);
    }

    .asmart-news-gallery__nav svg path {
        fill: var(--asmart-accent);
    }

    .asmart-news-gallery__next {
        right: 1rem;
        z-index: 5;
    }

    .asmart-news-gallery__prev {
        left: 1rem;
        z-index: 5;
    }

    .section-banner > .asmart-container.section-banner__content {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section-banner.main-banner > .asmart-container.section-banner__content {
        padding-left: 0;
        padding-right: 0;
    }

    .video-slider .slide-text-content.title-line-large {
        padding-left: 0.875rem;
    }

    .asmart-hero-slider .video-slider .slide-text-content.title-line-large {
        left: 50%;
        width: min(296px, calc(100vw - 24px));
        max-width: none;
        padding-left: 0;
        transform: translateX(-50%);
    }

    .asmart-hero-slider .video-slider .slide-text-content.title-line-large:before {
        left: -13px;
    }

    .section-image-card-2 .video-bg {
        display: none;
    }

    .section-image-card-2 {
        background: url(../../../images/bg_services.jpg);
        background-size: cover;
    }

    .section-image-card-2 > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .section-image-card-2 .section-image-card-2__head .title-line-large {
        padding-left: 0;
    }

    .section-image-card-2 .section-image-card-2__head .title-line-large:before {
        left: -13px;
    }

    .page-header-video > .asmart-container.asmart-block-container {
        width: 100%;
        max-width: 296px;
        padding-left: 0;
        padding-right: 0;
    }

    .page-header-video .page-header-top.title-line-large {
        padding-left: 0;
    }

    .page-header-video .page-header-top.title-line-large:before {
        left: -13px;
    }

    .asmart-card-news-detail__gallery {
        width: calc(100% + (2 * var(--asmart-block-pad-x)));
        max-width: none;
        margin-left: calc(-1 * var(--asmart-block-pad-x));
        margin-right: calc(-1 * var(--asmart-block-pad-x));
    }

    .asmart-card-news-detail__gallery .asmart-news-gallery,
    .asmart-card-news-detail__gallery .asmart-news-gallery__slider {
        width: 100%;
        max-width: none;
    }

    .asmart-news-gallery__slider.swiper-horizontal > .swiper-scrollbar {
        width: calc(100% - 2rem);
        margin: 0 1rem;
    }

    .asmart-news-gallery__slider.swiper-horizontal .asmart-news-gallery__scrollbar {
        bottom: 1rem;
    }

    .asmart-news-gallery__slider {
        padding-bottom: 0;
    }

    .asmart-card-news-detail__main {
        max-width: 296px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .asmart-card-news-detail__media {
        width: 100%;
        margin-bottom: 28px;
    }

    .asmart-card-news-detail__date {
        margin-bottom: 2rem;
    }

    .asmart-card-news-detail__head.title-line {
        padding-left: 13px;
        margin-bottom: 22px;
    }

    .asmart-card-news-detail__head.title-line:before {
        left: -13px;
        width: 3px;
        height: 122px;
    }

    .asmart-card-news-detail__title {
        max-width: 100%;
    }

    .asmart-card-news-detail__content.text-20,
    .asmart-card-news-detail__content.text-20 p {
        font-family: var(--font-family);
        font-weight: 400;
        font-size: 16px;
        letter-spacing: 0.02em;
        color: #000;
    }

    .asmart-card-news-detail__content.text-20 {
        max-width: 100%;
        margin-bottom: 28px;
        line-height: 1.5;
    }

    .asmart-card-news-detail__content.text-20 p + p {
        margin-top: 1.25rem;
    }

    .asmart-card-news-detail__share {
        max-width: none;
        width: 100%;
        margin: 0;
    }

    .asmart-card-news-detail__share-btn {
        -webkit-box-pack: center !important;
        -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .asmart-card-news-detail__share-btn svg {
        display: none;
    }

    .sidebar-desktop {
        display: none;
    }

    .sidebar-mobile {
        display: block !important;
        margin-top: 3rem;
    }

    .asmart-card-news-detail__sidebar.sidebar-mobile {
        position: relative;
        left: 50%;
        width: min(296px, calc(100vw - 24px));
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        transform: translateX(-50%);
    }

    .asmart-card-news-detail__sidebar.sidebar-mobile .asmart-card-news-detail__sidebar-title.text-xl.text-medium.uppercase {
        font-family: var(--font-family);
        font-weight: 700;
        font-size: 16px;
        line-height: 130%;
        letter-spacing: 0.02em;
        text-align: center;
        text-transform: uppercase;
        color: #000;
        max-width: none;
        padding-right: 0;
        margin: 0 0 1.25rem;
    }

    .asmart-card-news-detail__sidebar.sidebar-mobile .sidebar-wrapper {
        padding: 0;
    }

    .asmart-card-news-detail__sidebar.sidebar-mobile .asmart-card-news-detail__sidebar-list {
        width: 100%;
        padding-right: 0;
    }

    .asmart-card-news-detail__sidebar.sidebar-mobile .asmart-card-news-detail__sidebar-all {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }

    .video-slider .slider-btn {
        width: 10px;
    }

    .block-contacts > div {
        width: calc(100% - 1rem);
    }

    .block-contacts > div:first-child, .block-contacts-group > div {
        margin-bottom: 2.5rem !important;
    }

    .content-wrapper {
        padding: 0 1rem;
    }

    .asmart-site-footer .asmart-container.asmart-block-container,
    .asmart-site-footer .asmart-container.site-footer-container {
        box-sizing: border-box;
        width: 100%;
        max-width: 296px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .asmart-site-footer .content-wrapper {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .block-list-card-item__text {
        padding-left: 0;
    }

    .block-list-card-item__title {
        padding-left: 0;
        margin-bottom: 0;
    }

    .block-social-text {
        font-size: 10px;
    }

    .block-social-link a {
        width: 1.75rem;
        height: 1.75rem;
        margin: 0 6px;
    }

    .block-form-top {
        margin-bottom: 2rem;
    }

    .block-form-top .form-desc {
        font-weight: 500;
    }

    .footer-subscribe__desktop {
        display: none;
    }

    .footer-subscribe__mobile {
        display: block;
        margin-top: 2rem;
    }

    .footer-subscribe__mobile .text-20, .footer-subscribe__mobile a {
        font-size: 10px;
    }

    .footer-subscribe__mobile svg {
        width: 1.29375rem;
        height: 1.29375rem;
        flex-shrink: 0;
    }

    .block-subscribe a span {
        margin-left: 10px;
    }

    .site-footer-bottom {
        padding-top: 3.75rem;
    }

    .block-contacts-title, .block-contacts-group .block-contacts-title, .block-contacts-group .block-contacts-title.title-width-small {
        max-width: 100%;
    }

    .mobile-icon {
        display: block;
    }

    .desktop-icon {
        display: none;
    }

    .site-footer-block.block-contacts a svg {
        margin-right: 0.875rem;
    }

    .site-footer-block.block-contacts span {
        margin-left: 0;
    }

    .site-footer-block.block-contacts .block-phone span {
        margin-left: 4px;
    }

    .site-footer-block.block-contacts > div:nth-child(2) .block-contacts-title {
        max-width: 80%;
    }

    .block-contacts > div:last-child {
        margin-top: 0 !important;
    }

    .site-footer-block.block-contacts .block-contacts-title {
        margin-bottom: 1rem;
    }

    .footer-menu {
        margin-top: 2rem;
    }

    .site-footer-wrapper {
        padding-bottom: 3.75rem;
    }

    .section-partners .section-top {
        margin-bottom: 95px;
        max-width: 80%;
        line-height: 1.3;
        margin-left: auto;
        margin-right: auto;
    }

    .section-rewards .section-top {
        max-width: 60%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2.5rem;
    }

    .section-rewards .section-top h2 {
        font-size: 1rem;
        line-height: 1.3;
    }

    .asmart-grid-news-all.text-20 {
        font-size: 1rem;
        padding: 0;
    }

    .block-contacts > div {
        font-size: 0.75rem;
    }

    .block-contacts > div .block-contacts-title {
        font-size: 1rem;
        line-height: 1.3;
    }

    .footer-menu li {
        font-size: 0.75rem;
    }

    .block-company-item .item-text.item-text-reveal {
        font-family: var(--font-family);
        font-weight: 400;
        font-size: 12px;
        color: #000;
        max-width: 180px;
    }
}

@media (max-width: 500.98px) {
    .block-company-item.item-0 .item-desc,
    .block-company-item.odd .item-desc {
        max-width: 65%;
    }

    .block-company-item.odd .item-desc {
        margin-right: 0;
    }

    .block-subscribe a {
        margin-left: 0;
    }

    .block-subscribe > div {
        text-transform: none;
    }

    .block-contacts {
        margin: 0;
    }

    .block-contacts > div {
        width: 100%;
        margin: 0;
        margin-bottom: 2.5rem;
    }

    .block-contacts > div:last-child {
        margin-bottom: 0;
    }

    .site-footer-video__mobile-bg {
        background-image: url(../../../images/form-background.jpg);
    }

    .registr-success__top {
        background-image: url(../../../images/background_success.jpg) !important;
        padding: 2rem 0;
    }

    .registr-success__top, .registr-success__bottom {
        -webkit-box-align: start !important;
        -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .registr-success__title span {
        font-size: 1.75rem;
    }

    .registr-success__subtitle {
        max-width: 100%;
        font-size: 1rem;
        margin-top: 0.75rem;
    }

    .block-advantages-card-item__icon {
        width: 1.125rem;
        height: 1.125rem;
    }

    .block-advantages-card-item__text {
        font-size: 0.75rem;
        max-width: 80%;
        padding-left: 2.375rem;
    }

    #section-image-card .block-image-card-item .item-text {
        font-size: 0.75rem;
    }

    .asmart-news-detail {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .asmart-card-news-detail__head.title-line {
        padding-left: 0;
    }

    .section-news .asmart-grid-news-all {
        max-width: 100%;
    }
}

@media (max-width: 400.98px) {
    .asmart-card-news-detail__content.text-20,
    .asmart-card-news-detail__content.text-20 p {
        font-size: 16px;
    }

    .section-banner .banner-text.text-24 {
        font-size: 1rem;
    }

    .section-banner .banner-btn {
        width: 100%;
        max-width: 18.5rem;
        padding-left: 0;
    }

    .banner-btn {
        width: 100%;
        padding-left: 0;
    }

    .block-form-top .form-title {
        font-size: 1rem;
    }

    .registr-success__questions {
        font-size: 1rem;
    }

    .registr-success .form-desc__mobile {
        max-width: 100%;
    }

    .registr-success__bottom-inner {
        gap: 0.75rem;
    }

    .registr-success__contacts {
        margin-top: 2rem;
    }

    .block-advantages-card-item__text {
        max-width: 100%;
    }

    .asmart-card-news-card time, .news-card__text {
        font-size: 0.75rem !important;
    }

    .asmart-card-news-card time {
        margin-bottom: 0.75rem;
        font-size: 0.75rem !important;
    }

    .block-advantages-card-actions {
        max-width: 296px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Image cards: keep their original size and shift half beyond the viewport. */
@media (max-width: 520px) {
    #section-image-card {
        overflow: hidden;
    }

    #section-image-card .block-image-card-item,
    #section-image-card .block-image-card-item.even {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 0;
    }

    #section-image-card .block-image-card-item.odd {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    #section-image-card .block-image-card-item .item-desc {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        margin-left: 0;
        margin-right: 0;
    }

    #section-image-card .block-image-card-item .item-image {
        left: auto;
        right: auto;
        flex: none;
        width: 110%;
        max-width: 110%;
        margin-left: 0;
        margin-right: 0;
    }

    #section-image-card .block-image-card-item.even .item-image {
        left: auto;
        right: auto;
        transform: translateX(calc(50vw - 55%));
    }

    #section-image-card .block-image-card-item.odd .item-image {
        left: auto;
        right: auto;
        transform: translateX(calc(-50vw + 50%));
    }
}

/*====================================================
                      END Responsive (global)
======================================================*/

/*====================================================
                      Auth (login / register)
======================================================*/
.auth {
    background: #031523;
    min-height: calc(100vh - 3.75rem);
}

.auth__panel {
    max-width: 28rem;
    margin: 0 auto;
}

.auth__head {
    max-width: 28rem;
    margin: 0 auto;
    padding: 3.75rem 0;
}

.auth__title {
    margin: 0 0 0.75rem;
}

.auth__subtitle {
    max-width: 80%;
    margin: 0;
}

.auth__subtitle.title-line {
    padding-left: 1rem;
}

.auth__message {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
}

.auth__message--error {
    color: var(--color-error);
}

.auth__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.auth__field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.auth__input {
    width: 100%;
    padding: 0.875rem 1rem;
    background: transparent;
    line-height: 1.3;
    outline: none;
    transition: border-color 0.2s ease;
}

.auth__input.form-input {
    font-size: 1.125rem;
}

.auth__input:focus,
.auth__form .form-input:focus {
    border-color: var(--asmart-accent, #a2dd22);
}

.auth__input.is-invalid,
.auth__form .form-input.is-invalid,
.auth__check.is-invalid input {
    border-color: var(--color-error);
}

.auth__check {
    color: #000;
}

.auth__check.is-invalid span {
    color: var(--color-error);
}

.auth__message[hidden] {
    display: none;
}

.auth__check {
    gap: 0.625rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.875rem;
    cursor: pointer;
}

.auth__check.wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 1rem;
    padding-left: 1.75rem;
}

.auth__check input {
    width: 1rem;
    height: 1rem;
    accent-color: var(--asmart-accent, #a2dd22);
}

.auth__submit {
    width: 100%;
    margin-top: 1.125rem;
    height: 3.25rem;
    border: 0;
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    background: linear-gradient(90deg, #D3FF00 0%, #77BC1F 100%);
    font-family: var(--font-family);
}

.auth__links {
    margin-top: 1.75rem;
    gap: 1rem;
}

.auth__link {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth__link:hover,
.auth__link--accent {
    color: var(--asmart-accent, #a2dd22);
}

.auth__check.wpcf7-acceptance .wpcf7-list-item-label::before {
    width: 1.125rem;
    height: 1.125rem;
    top: 0.75rem;
}

.auth__links {
    margin-top: 1.125rem;
}

.link-restore {
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #000;
    font-size: 1rem;
}

.link-register {
    padding-top: 2.5rem;
    font-size: 1.125rem;
}

.link-register a {
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 991.98px) {
    .auth__submit {
        font-size: 1rem;
    }
}

@media (max-width: 767.98px) {
    .auth__panel, .auth__subtitle {
        max-width: 100%;
    }

    .auth__head {
        max-width: 100%;
        padding: 3.125rem 0;
    }

    .auth__subtitle.title-line {
        font-size: 1rem;
    }

    .section-auth__mobile-bg {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-color: #031523;
        background-image: url(../../../images/bg_auth_767.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .link-restore {
        font-size: 0.75rem;
        padding-bottom: 2rem;
    }

    .link-register {
        padding-top: 1.125rem;
        font-size: 1rem;
    }

    .banner-link span {
        margin-left: 0.75rem;
    }

    .banner-block-title__content.title-line:before {
        height: calc(100% - 0.5rem);
    }

    .banner-block-title__content .banner-text {
        margin-top: 30px;
    }

    .banner-text {
        margin-top: 0;
    }

    /*.asmart-archive__title {*/
    /*    font-size: 1.75rem !important;*/
    /*}*/
    .block-partner {
        gap: 3.125rem;
    }

    form input[type="submit"] {
        border: 2px solid transparent;
        background-image: linear-gradient(90deg, #77BC1F 0%, #D3FF00 100%),
        linear-gradient(90deg, #77BC1F 0%, #D3FF00 100%);
        background-origin: padding-box, border-box;
        background-clip: padding-box, border-box;
        background-color: transparent;
    }
}

@media (max-width: 480.98px) {
    .section-auth__mobile-bg {
        background-image: url(../../../images/bg_auth_480.jpg);
    }

    .site-header-logo {
        max-width: 5.2rem;
    }
}

@media (max-width: 420.98px) {
    .link-register {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .link-register span {
        margin: 0 auto;
    }

    .link-register a {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
    }
}

@media (max-width: 360.98px) {
    .section-auth__mobile-bg {
        background-image: url(../../../images/bg_auth_360.jpg);
    }
}

.page-header-content {
    margin-left: 3.75rem;
}

.asmart-archive__header-top {
    width: 100%;
}

.asmart-archive__title-wrap {
    max-width: 100%;
}

.asmart-archive__copy {
    max-width: 100%;
    width: 100%;
}

.asmart-archive__subtitle {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 10px;
    text-transform: uppercase;
    color: #a2dd22;
    margin: 18px 0 8px;
    line-height: 1.35;
    max-width: 100%;
}

.asmart-archive__subtitle p {
    margin: 0;
    font: inherit;
    color: inherit;
    text-transform: inherit;
}

.asmart-archive__desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 10px;
    color: #fff;
    margin: 0;
    line-height: 1.35;
    max-width: 100%;
}

.asmart-archive__copy:not(:has(.asmart-archive__subtitle)) .asmart-archive__desc {
    margin-top: 18px;
}

.asmart-archive__header .page-header-top {
    flex-direction: column;
    align-items: flex-start;
}

@media (min-width: 1101px) {
    .asmart-archive__header-top {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 3.75rem;
        padding-left: 0;
    }

    .asmart-archive__header-top.title-line-large {
        padding-left: 0;
    }

    .asmart-archive__header-top.title-line:before {
        display: none;
    }

    .asmart-archive__title-wrap {
        position: relative;
        flex: 0 0 auto;
        max-width: 22.5rem;
        padding-left: 2rem;
    }

    .asmart-archive__title-wrap:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 0.5rem;
        height: 100%;
        background: var(--asmart-accent);
    }

    .asmart-archive__copy {
        flex: 0 1 min(42rem, 52%);
        max-width: min(42rem, 52%);
        margin-left: auto;
        padding-top: 0.25rem;
        width: auto;
    }

    .asmart-archive__subtitle {
        font-size: 24px;
        letter-spacing: -0.02em;
        line-height: 1.2;
        margin: 0 0 32px;
    }

    .asmart-archive__desc {
        font-size: 24px;
        letter-spacing: -0.02em;
        line-height: 1.2;
    }

    .asmart-archive__copy:not(:has(.asmart-archive__subtitle)) .asmart-archive__desc {
        margin-top: 0;
    }

    .asmart-archive__header .page-header-top {
        flex-direction: row;
        align-items: flex-start;
    }
}

/*====================================================
          Main banner: compact mobile viewport
======================================================*/
@media (max-width: 767.98px) and (max-height: 700px) {
    .main-banner .banner-block {
        box-sizing: border-box;
        padding-top: clamp(1rem, 5dvh, 2rem);
        padding-bottom: calc(
            var(--section-banner-marquee-height) +
            var(--section-banner-marquee-gap) +
            3.25rem
        );
    }

    .main-banner .banner-title.text-xxxl {
        font-size: clamp(1.75rem, calc(0.75rem + 4dvh), 2.5rem);
        line-height: 1.04;
    }

    .main-banner .banner-block-title__content .banner-text {
        margin-top: clamp(0.625rem, 2.5dvh, 1.25rem);
    }

    .main-banner .banner-text.text-24 {
        font-size: clamp(0.8125rem, calc(0.375rem + 1.5dvh), 1rem);
        line-height: 1.15;
    }

    .main-banner .banner-link {
        margin-top: clamp(0.75rem, 2.5dvh, 1.5rem);
    }

    .main-banner .banner-link span {
        font-size: clamp(0.75rem, calc(0.375rem + 1.25dvh), 1rem);
    }
}

@media (max-width: 767.98px) and (max-height: 390px) {
    .main-banner {
        --section-banner-marquee-gap: 0.75rem;
        --section-banner-marquee-height: 1.625rem;
    }

    .main-banner .banner-block {
        padding-top: 0.5rem;
        padding-bottom: calc(
            var(--section-banner-marquee-height) +
            var(--section-banner-marquee-gap) +
            2.5rem
        );
    }

    .main-banner .banner-block .banner-block-title {
        max-width: 100%;
    }

    .main-banner .banner-title.text-xxxl {
        font-size: 1.5rem;
        line-height: 1;
    }

    .main-banner .banner-block-title__content .banner-text {
        margin-top: 0.375rem;
    }

    .main-banner .banner-text.text-24 {
        font-size: 0.75rem;
        line-height: 1.1;
    }

    .main-banner .banner-link {
        margin-top: 0.375rem;
    }

    .main-banner .banner-link svg {
        width: 1rem;
        height: 1rem;
    }

    .main-banner .banner-link span {
        margin-left: 0.5rem;
        font-size: 0.75rem;
    }

    .section-banner.main-banner .banner-btn {
        width: min(100%, 16rem);
        max-width: 16rem;
    }

    .main-banner .banner-btn .btn {
        font-size: 0.875rem;
    }

    .main-banner .marquee {
        padding-bottom: 0.5rem;
    }

    .main-banner .marquee-item-text.text-24 {
        font-size: 0.625rem;
    }

    .main-banner #marquee-banner .marquee-item img {
        width: 1rem;
        height: auto;
        margin-inline: 0.75rem;
    }
}

.page-subdesc {
    font-size: 1.5rem;
    margin-top: 2rem;
}

/*====================================================
                      END Auth
======================================================*/

.wpcf7-acceptance .wpcf7-list-item-label {
    letter-spacing: unset !important;
}

/* Mobile icons: component selectors also cover pages with custom body classes. */
@media (max-width: 767.98px) {
    .block-advantages-card-item__icon {
        width: 2.875rem;
        height: 2.875rem;
    }

    .site-footer-bottom-wrapper .block-contacts svg.mobile-icon {
        width: 18.4px;
        height: 18.4px;
        flex: 0 0 18.4px;
    }

    .site-footer-bottom-wrapper .block-contacts a[href^="mailto:"] svg.mobile-icon {
        height: 13.8px;
    }

    .site-footer-block.block-social .block-social-link a {
        width: 2.0125rem;
        height: 2.0125rem;
        flex-shrink: 0;
    }

    .site-footer-block.block-social .block-social-link :is(img, svg) {
        width: 100%;
        height: 100%;
    }

    :is(
        .section-list-card .block-list-card-item__icon svg,
        .main-banner .banner-link svg,
        .asmart-hero-banner .banner-link svg,
        .main-banner #marquee-banner .marquee-item > img,
        .slider-btn > svg,
        .asmart-news-gallery__nav > svg,
        .asmart-news-gallery-modal__nav > svg
    ) {
        scale: 1.15;
    }
}

@media (max-width: 500.98px) {
    .block-advantages-card-item__icon {
        width: 26px;
        height: 26px;
    }
}
