/** colors **/

.c-white {
    color: #ffffff;
}

.c-link {
    color: #08388B;
}

.c-text {
    color: #101010;
}

.bc-white {
    background-color: #FFFFFF;
}

.-pl {
    padding-left: 0 !important;
}

.-pr {
    padding-right: 0 !important;
}


@media handheld, only screen and (max-width: 1440px) {
    main {
        margin-left: 85px;
    }
}

@media handheld, only screen and (max-width: 1400px) {

}

@media handheld, only screen and (max-width: 1350px) {

}

@media handheld, only screen and (max-width: 1250px) {
    .blockWidth {
        padding-left: 15px;
        padding-right: 15px;
    }

    .articlesList .itemWrap {
        padding-right: 15px;
    }

    .leftBlock75 {
        padding-right: 15px;
    }

    .rightBlock70 {
        padding-left: 15px;
    }
}

@media handheld, only screen and (max-width: 1200px) {

    .rightBlock {
        right: 15px;
    }

    .banner.type3 .mainImage .image_wrap {
        background-position: left -298px bottom -213px;
        background-size: 871px auto;
    }

    .banner.type3 .mainImage .image_shape {
        width: 332px;
        left: 80px;
        bottom: -95px;
    }

    main {
        margin: 0;
    }

    #socialBlock {
        display: flex;
        top: auto;
        bottom: 0;
        left: 15px;

    }

    #socialBlock .icon {
        width: 44px;
        height: 44px;
        margin-left: 1px;
        margin-top: 0;
    }

    #socialBlock .icon:first-child {
        margin-left: 0;
    }

    #socialBlock > .icon.s_yo {
        background-size: auto 21px;
    }

    #socialBlock > .icon.s_ma {
        background-size: 21px auto;
    }

    #socialBlock > .icon.s_fb {
        background-size: auto 21px;
    }

    #socialBlock > .icon.s_tg {
        background-size: 21px auto;
    }


    #socialBlock > .icon.s_vk {
        background-size: 21px auto;
    }

    #socialBlock > .icon.s_ok {
        background-size: auto 21px;
    }

    #toTop {
        width: 44px;
        height: 44px;
        background-size: 18px auto;
    }

}

@media handheld, only screen and (max-width: 1150px) {
    header menu li {
        padding-right: 25px;
    }

    .articleItem .text {
        font-size: 20px;
        padding: 20px;
    }

    .articleItem .text.big {
        font-size: 30px;
    }

    .articleBottom {
        font-size: 16px;
    }

    .buttonBillet {
        font-size: 22px;
    }

    .linksSlider .inner > .slide {
        font-size: 20px;
    }

    .asH2 {
        font-size: 50px;
    }

    .asH3 {
        font-size: 28px;
        line-height: 100%;
    }

    .text3, .articleItem .text3 {
        font-size: 28px;
    }

    .subTabs .tab {
        font-size: 16px;
    }

    .varsList .item.two > div {
        font-size: 22px;
    }

    .tabsBlock {
        font-size: 16px;
    }


    footer ul.menu a {
        font-size: 18px;
    }

    .banner.type1 .moreImage {
        background-position: right -42px center;
        width: 260px;
        height: 100%;
    }

    .banner .tag {
        font-size: 18px;
    }

    .banner.type2 .moreImage {
        background-position: right center;
        width: 200px;
        height: 100%;
    }

    .banner.type2 {
        background-size: auto 60%;
        background-position: 21% center;
    }

    .banner.type2 .mainImage {
        background-position: left 60px bottom 30px;
        background-size: auto 230px;
    }


    .banner.new1 .moreImage {
        background-position: right center;
        width: 200px;
        height: 100%;
    }


    .miniChaptersList .miniChapter {
        padding: 20px 0;
        font-size: 20px;
    }

    .newsItem .text {
        font-size: 20px;
    }

    .newsItem .text.big {
        font-size: 30px;
    }

    #mainContent.bigHeader header img.logo {
        width: 54px;
        min-width: 54px;
    }

    header .topBlock {
        align-items: end;
    }

    .banner .newImage {
        left: 75px;
        padding: 7px;
    }

    .banner.new1.type4:before {
        background-position: center top;
        width: 13%;
    }

    .banner.new1 .moreLeft {
        left: 26px;
        bottom: 223px;
        width: 55px;
        height: 63px;
    }

    .banner.new1.type1 .mainImage {
        display: none;
    }
}

@media handheld, only screen and (max-width: 1000px) {
    header menu li {
        padding-right: 15px;
    }

    .banner.mobile .body {
        font-size: 20px;
    }
}

@media handheld, only screen and (max-width: 950px) {
    #mainContent:before {
        /*height: 76px;*/
    }

    .tabsBlock.js-tabs {
        display: block;
        width: 100%;
    }

    .tabsBlock.js-tabs .tab a {
        padding: 17px 20px 18px;
    }

    .tabsBlock.js-tabs .tab {
        margin: 0;
        display: none;
        width: 100%;
        border-bottom: 1px solid #E0E0E0;
    }

    .tabsBlock.js-tabs .tab.active {
        display: block;
    }

    .tabsBlock.js-tabs.selected .tab {
        display: block;
    }

    .tabsBlock.js-tabs .tab a {
        display: block;
        margin: 0;
        border-radius: 0;
        white-space: normal;
        padding-right: 40px;
    }

    .tabsBlock.js-tabs::after {
        content: '';
        position: absolute;
        right: 20px;
        top: 20px;
        z-index: 1;
        width: 12px;
        height: 12px;
        background: transparent url("../images/main/i/select_white.svg") no-repeat center;
        background-size: contain;
        transition: all 300ms ease 0s;
    }

    .banner .body {
        padding-right: 30px;
        max-width: 50%;
        font-size: 28px;
    }

    .banner .link {
        font-size: 22px;
    }

    .articleBlock {
        font-size: 20px;
    }

    .banner.type1 .mainImage {
        background-position: 60px bottom;
        background-size: auto 230px;
    }


    .banner.type3 .moreImage {
        background-size: auto 50%;
    }

    .banner.type3 .mainImage .image_wrap {
        background-position: left -281px bottom -189px;
        background-size: 770px auto;
    }

    .banner.type3 .mainImage .image_shape {
        width: 293px;
        left: 53px;
        bottom: -85px;
    }

    header menu {
        display: none;
    }

    header .topBlock {
        align-items: end;
    }

    #mainContent.bigHeader header img.logo {
        width: 106px;
        min-width: 106px;
    }

    .banner .lace {
        right: 15px;
        bottom: 30px;
        top: auto;
    }
}

@media handheld, only screen and (max-width: 900px) {


    .articlesList .itemWrap {
        flex-basis: 50%;
    }

    .articlesList.four .itemWrap {
        flex-basis: 50%;
    }


    footer hr {
        margin: 30px 0;
    }

    /****/
    .articleItem .text {
        font-size: 18px;
    }

    .articleItem .text.big {
        font-size: 18px;
        letter-spacing: 0;
    }

    .newsItem .text {
        font-size: 18px;
        line-height: 140%;
        letter-spacing: 0;
    }

    .newsItem .text.big {
        font-size: 18px;
        line-height: 140%;
        letter-spacing: 0;
    }

    .articleBottom {
        padding: 20px;
        font-size: 14px;
    }

    .buttonBillet {
        font-size: 20px;
    }

    .linksSlider .inner > .slide {
        font-size: 18px;
    }

    .asH2 {
        font-size: 42px;
    }

    .asH3 {
        font-size: 24px;
        line-height: 100%;
    }

    .text3, .articleItem .text3 {
        font-size: 24px;
    }

    .subTabs .tab {
        font-size: 14px;
    }

    .varsList .item.two > div {
        font-size: 20px;
    }

    .tabsBlock {
        font-size: 14px;
    }

    .icon.downWitheButton {
        width: 35px;
        height: 35px;
        min-width: 35px;
    }

    .banner.mobile .body {
        font-size: 18px;
    }

    .banner.mobile .link {
        font-size: 16px;
    }

    .socialBlock {
        font-size: 16px;
    }
}

@media handheld, only screen and (max-width: 850px) {

    .leftBlock {
        margin-right: 0;
    }

    .banner.type1 .body {
        background: none;
    }

    .banner.type1:before {
        width: 120px;
        height: 60px;
        top: auto;
        left: 10px;
        bottom: 200px;
        background-size: contain;
    }

    .banner.type2:before {
        width: 110px;
        height: 90px;
        top: auto;
        left: 0;
        bottom: 230px;
        background-size: contain;
    }

    .banner.new1.type4:before {
        width: 110px;
        height: 90px;
        top: auto;
        left: 0;
        bottom: 230px;
        background-size: contain;
    }

    .banner .body {
        max-width: 60%;
    }

    .leftBlock75.qtab-f-basis-100, .leftBlock30.qtab-f-basis-100, .rightBlock70.qtab-f-basis-100 {
        max-width: 100%;
        flex-basis: 100%;
        width: 100%;
        padding-right: 0;
    }

    .miniChaptersList {
        padding: 3px 30px;
        border-radius: 40px;
        background: #FFF;
    }

    .miniChaptersList .miniChapter {
        padding: 20px 0;
        font-size: 18px;
    }

    .miniChaptersList .miniChapter:first-child {
        border-top: none;
    }

    .miniChaptersList .miniChapter:last-child {
        border-bottom: none;
    }

    .miniChaptersList:not(.selected) .miniChapter {
        display: none;
        border: none;
    }

    .miniChaptersList .miniChapter.active {
        display: block;
        cursor: pointer;
        background: transparent url("../images/main/i/select.svg") no-repeat right 10px center;
    }

    .newsList .newsItem {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .socialBlock {
        flex-wrap: wrap;
    }

    .varsList .item {
        padding: 20px 0;
    }

    .socialBlock > .right {
        padding-top: 10px;
    }

    .socialBlock > .left {
        padding-top: 10px;
    }

    .shares a {
        padding-left: 0;
        padding-right: 15px;
    }

    .maxPage {
        min-height: calc(100vh - 115px);
    }

    .banner {
        display: block;
    }

    .banner .body {
        padding-left: 15px;
        max-width: 100%;
        padding-bottom: 400px;
    }

    .banner .newImage {
        left: 50px;
        padding: 2px;
        top: auto;
        width: 207px;
        bottom: 18px;
    }

    .banner.sky_bg {
        background-size: 400px auto;
        background-position: left -100px top 20px;
    }

    .banner.sky_bg:before {
        width: 100%;
        background-size: 400px auto;
        background-position: right -80px center;
    }

    q {
        font-size: 28px;
        line-height: 120%;
    }

    q.white {
        padding-right: 160px;
    }

    q.white .person {
        height: 150px;
    }
}

@media handheld, only screen and (max-width: 700px) {
    #mainContent header img.logo {
        width: 54px !important;
        min-width: 54px !important;
    }

    header .topBlock {
        padding: 11px 20px 10px 20px;
    }

    .ownerBlock {
        transition: none;
        margin-left: -54px;
    }

    header .topBlock {
        align-items: center;
    }

    #mainContent.bigHeader header .topBlock {
        align-items: start;
    }


    .mainBanner {
        padding: 5%;
    }

    .slideBlock ul.controls {
        display: none;
    }

    .buttonBillet {
        font-size: 18px;
    }

    footer ul.menu li {
        flex-basis: 50%;
    }

    /*
        .banner .body {
            font-size: 24px;
            max-width: 55%;
            padding-right: 15px;
        }*/
    .banner .tag {
        font-size: 16px;
    }

    .articleBlock .bigPhoto {
        padding-top: 20px;
    }

    .articleBlock > p {
        padding-top: 20px;
    }

    .photoSlider {
        padding-top: 20px;
    }

    q {
        padding-left: 40px;
        padding-top: 20px;
        font-size: 22px;
    }

    q::before {
        width: 20px !important;
        height: 40px !important;
    }

    q cite {
        font-size: 20px;
        padding-top: 15px;
    }

    q.white .person {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
    }

    q.white {
        padding: 20px 15px 0 55px;
    }

    q.white:before {
        left: 15px;
    }

    q cite {
        padding-bottom: 20px;
    }

    .awards .item {
        max-width: 24%;
        width: 24%;
    }

    .pagination .icon {
        width: 75px;
        min-width: 75px;
    }

    .pagination {
        padding: 16px 20px 24px 20px;
        font-size: 14px;
    }

    .pagination .body .active {
        font-size: 18px;
    }

    .pagination .body > * {
        padding-right: 20px;
    }

    #mainContent.bigHeader .ownerBlock {
        height: 100px;
    }

}

@media handheld, only screen and (max-width: 640px) {


}

@media handheld, only screen and (max-width: 540px) {

    .banner.new1.ippo_bg {
        background-size: auto 253px;
        background-position: right -95px bottom;
    }

    .articlesList .itemWrap {
        flex-basis: 100% !important;
        padding-top: 20px;
        width: 100%;
    }

    .pagination .icon {
        width: 50px;
        min-width: 50px;
    }

    .awards .item {
        max-width: 32%;
        width: 32%;
    }

    .asH2 {
        font-size: 26px;
        letter-spacing: -1.3px;
    }

    .asH3 {
        font-size: 22px;
    }

    .text3, .articleItem .text3 {
        font-size: 22px;
    }

    .buttonBillet .icon.rightBig {
        min-width: 75px;
        width: 75px;
    }

    footer ul.menu li {
        flex-basis: 100%;
        width: 100%;
    }


    .banner.type1 .moreImage {
        background-position: right -42px bottom 200px;
    }

    .banner.type3 .moreImage {
        height: 80px;
        width: 80px;
        background-size: 80% auto;
        top: auto;
        bottom: 220px;
    }

    .photoSlider img.pic {
        display: none;
    }

    .photoSlider {
        padding-top: 0;
        display: flex;
        flex-direction: column-reverse;
    }

    .photoSlider .arrows {
        display: none;
    }

    .photoSlider .slider {
        margin: 0;
    }

    .photoSlider .inner .slide {
        width: 80vw;
        padding: 0;
        margin-right: 20px !important;
    }

    .photoSlider .inner .slide.active {
        border-color: transparent;
    }

    .socialBlock {
        font-size: 14px;
    }

    .articleBlock {
        font-size: 18px;
    }

    .pagination .body > * {
        padding-right: 20px;
    }

    .newsList .newsItem {
        display: block;
    }

    .newsItem .text.big {
        padding-top: 20px;
    }

    .newsList .newsItem {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .newsItem .imageWrap {
        max-width: 100%;
        padding-right: 0;
    }

    .banner .lace {
        width: 46px;
        height: 18px;
    }

    .blockTumbler .circleItem {
        font-size: 14px;
    }

    form.mainForm .block {
        padding-top: 15px;
        padding-bottom: 0;
    }

    .textBlock .textField {
        margin-top: 10px;
    }

    .textBlock label {
        font-size: 16px;
    }
}

@media handheld, only screen and (max-width: 450px) {

}