@media (max-width: 1199px) {
    .subnav {
        height: auto;
        overflow: visible;
    }

    .subnav__inner {
        flex-wrap: wrap;
        align-items: center;
        padding-top: 8px;
        gap: 4px 16px;
        padding-bottom: 4px;
        justify-content: end;
    }

    .subnav__menu {
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 16px;
        flex: 1 1 auto;
    }

    .subnav__menu a {
        padding-bottom: 10px;
    }

    .subnav__item.is-active::after {
        height: 3px;
    }

    .subnav__lang {
        align-items: center;
    }

    .subnav__lang-toggle {
        padding-bottom: 10px;
    }

    .mega {
        gap: 16px;
        padding: 24px;
        max-width: calc(100vw - 32px);
    }

    .mega__col {
        flex: 1 1 220px;
        width: auto;
        padding-right: 0;
    }
}

@media (max-width: 1024px) {
    .wrap {
        padding: 0 20px;
    }

    .hero__inner {
        padding-top: 96px;
        padding-bottom: 96px;
    }

    .hero__title {
        font-size: 32px;
        line-height: 48px;
    }

    .cards-grid > * {
        flex: 1 1 100%;
        min-width: 0;
    }

    .news-grid {
        flex-wrap: wrap;
    }

    .newscard {
        flex: 1 1 280px;
        width: auto;
    }

    .footer__nav {
        flex-wrap: wrap;
    }

    .footer__col {
        flex: 1 1 240px;
        min-width: 240px;
    }

    .vacancy-detail__content {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 40px;
    }

    .vacancy-detail__main,
    .vacancy-detail__aside {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .wrap {
        padding: 0 16px;
    }

    .section {
        padding: 32px 0;
    }

    .section__title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 24px;
    }

    .header-top {
        height: auto;
        padding: 12px 0;
    }

    .header-top__inner {
        gap: 12px;
    }

    .logo {
        gap: 12px;
    }

    .logo__text {
        white-space: normal;
        font-size: 14px;
        line-height: 20px;
    }

    .hero__inner {
        padding-top: 64px;
        padding-bottom: 64px;
        gap: 24px;
    }

    .hero__title {
        font-size: 28px;
        line-height: 40px;
    }

    .page__title,
    .detail__title {
        font-size: 30px;
        line-height: 44px;
    }

    .vacancy-detail__title {
        font-size: 24px;
        line-height: 32px;
    }

    .vacancy-detail__head {
        margin-bottom: 24px;
    }

    .detail__title {
        line-height: 40px;
    }

    .article-block__title {
        font-size: 20px;
        line-height: 28px;
    }

    .detail__body {
        gap: 40px;
    }

    .filter-bar__left {
        width: 100%;
        flex: 1 1 100%;
    }

    .search-bar {
        width: 100%;
    }

    .search-bar__field {
        width: 100% !important;
        flex: 1 1 100%;
    }

    .search-bar__btn,
    .search-bar__btn .btn-primary,
    .search-bar__btn .btn-third {
        width: 100%;
    }

    .footer__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }

    .footer__logo {
        align-self: flex-start;
    }
}

@media (max-width: 560px) {
    .swcard__header{
        font-size: 18px;
        line-height: 28px;
    }
    .section {
        padding: 24px 0;
    }

    .header-top__inner {
        align-items: center;
    }

    .mega {
        flex-direction: column;
        flex-wrap: nowrap;
        padding: 20px;
    }

    .mega__col {
        flex: 1 1 100%;
        width: 100%;
    }

    .hero__inner {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .hero__title {
        font-size: 24px;
        line-height: 36px;
    }

    .page__title,
    .detail__title {
        font-size: 26px;
        line-height: 36px;
    }

    .footer__col {
        flex: 1 1 100%;
        min-width: 0;
    }

    .footer__meta-links {
        flex-direction: column;
        gap: 8px;
    }

    .footer__meta-links a {
        word-break: break-word;
    }

    .qualify-card {
        min-width: 0;
        flex: 1 1 100%;
    }

    .doclist__row--sub {
        padding-left: 24px;
    }

    .doclist__row--sub2 {
        padding-left: 48px;
    }

    .breadcrumb a,
    .breadcrumb__current {
        max-width: 160px;
    }

    .drawer {
        width: 100%;
    }

    .drawer__buttons {
        flex-wrap: wrap;
    }

    .drawer__buttons > * {
        flex: 1 1 100%;
    }

    .pagination {
        gap: 16px;
    }
}

@media (max-width: 400px) {
    .logo__mark {
        width: 88px;
    }

    .logo__mark img {
        height: 46px;
    }

    .logo__divider {
        height: 46px;
    }

    .btn-secondary {
        padding: 8px 12px;
        height: 36px;
    }

    .hero__title {
        font-size: 22px;
        line-height: 32px;
    }

    .page__title,
    .detail__title {
        font-size: 22px;
        line-height: 32px;
    }

    .contact-row {
        align-items: flex-start;
    }
}
