/* --- Media styles --- */

.wrapMainButt {
    display: none;
}

@media screen and (max-width:1199px) {
    .wrapTLH ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 5px 45px;
    }
    .wrapTLH button {
        margin-left: 40px;
    }
    .wrapTLH ul a {
        margin-right: 0;
    }
    .topBannerBlock .wrapTBMini {
        width: 100%;
        top: 180px;
        display: flex;
        justify-content: space-around;
        left: auto;
    }
    .flexSB.wrapTBMini img {
        max-width: 150px;
    }
    .topBannerBlock .txtBlock {
        width: 100%;
        left: auto;
    }
    .topBannerBlock>img {
        margin-left: calc((100% - 1920px) / 2);
    }
    .questionsAndPreBlock {
        margin-bottom: 20px;
    }
    .questionsAndPreBlock:before {
        top: 190px;
    }
    .leftQAP {
        padding: 25px 20px;
    }
    .rightQAP .preBlock {
        flex-direction: column;
    }
    .preBlock .leftPre {
        width: auto;
        margin-left: 25px;
    }
    .rightPre {
        width: auto;
    }
    .wrapVideoPre .top {
        margin-bottom: 30px;
    }
    .realiseProjBlock .title {
        margin-bottom: 25px;
    }
    .realiseProjBlock {
        margin-bottom: 40px;
    }
    .wrapRealiseProj {
        grid-template-columns: repeat(2, 360px);
        grid-gap: 40px 30px;
        justify-content: center;
    }
    .priceCalcBlock form .leftForm {
        height: 520px;
    }
    .wrapSliderScensBlock {
        margin-bottom: 40px;
    }
    .wrapSliderScensBlock .wrapBSlider .sliderWrap {
        width: 600px;
    }
    .wrapSliderScensBlock .slick-slide img {
        width: 540px;
    }
    .wrapSliderScensBlock .txtBlock {
        width: auto;
    }
    .wrapSliderScensBlock .txtBlock p {
        margin-bottom: 20px;
    }
    .wrapSliderScensBlock .txtBlockSlider {
        padding: 25px;
        left: calc(100% - 60px);
        bottom: 0;
        width: 60%;
    }
    .wrapSliderScensBlock .txtBlockSlider p {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .wrapPre {
        grid-gap: 30px 90px;
    }
    .preBlock {
        margin-bottom: 40px;
    }
    .wrapSliderScensBlock2 {
        margin-bottom: 40px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider p {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .wrapSliderScensBlock2 .slick-slide img {
        height: 410px;
    }
    .wrapSliderScensBlock2 .wrapBSlider .sliderWrap {
        width: 608px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        padding: 20px 25px;
        right: calc(100% - 148px);
        bottom: 56px;
        width: 480px;
    }
    .aboutCompanyBlock {
        margin-bottom: 0;
    }
    .aboutCompanyBlock .title {
        margin-bottom: 25px;
    }
    .aboutCompanyBlock .leftBlock {
        width: 36%;
        margin-right: 1%;
    }
    .aboutCompanyBlock .rightBlock {
        width: 62%;
        margin-left: 1%;
    }
    .aboutCompanyBlock .logoAC {
        margin-bottom: 20px;
    }
    .stepsJobBlock {
        margin-bottom: 70px;
    }
    .nucACPre {
        margin-bottom: 15px;
    }
    .nucACPre .big {
        font-size: 25px;
    }
    img.bgSS {
        width: 100%;
    }
    .seriesScenBlock .btnStyle {
        width: 310px;
        height: 70px;
        left: calc(50% - 310px);
        bottom: 115px;
    }
    .clientsBlock {
        margin-bottom: 40px;
    }
    .wrapClients {
        grid-gap: 40px;
    }
    .flexCenter.wrapGeogrImg img {
        width: 100%;
    }
    .geigraficBlock {
        margin-bottom: 40px;
    }
    .wrapGeogrImg .txtBlock {
        left: calc(50% - 100px);
        bottom: -25px;
    }
    .formBlock .flexSB.wrapInputs {
        flex-direction: column;
    }
    .formBlock .wrapLabel {
        width: 70%;
    }
    .formBlock .wrapLabel {
        width: 70%;
    }
    .formBlock {
        padding: 100px 0 20px;
    }
    .topLineF ul a {
        margin-right: 30px;
    }
    .botLineF {
        padding: 40px 0;
    }
    .nucPre .imgW {
        width: 30px;
        display: flex;
        margin-right: 30px;
    }
}

@media screen and (max-width:991px) {
    header .custom {
        display: flex;
        flex-direction: column-reverse;
        background: #fff;
    }
    .wrapTLH {
        flex-wrap: wrap;
    }
    .wrapTLH ul {
        width: 100%;
        order: 2;
        display: flex;
        justify-content: space-between;
        margin-top: 5px;
        padding: 5px 0;
    }
    .wrapTLH ul a {
        font-size: 15px;
        text-transform: none;
    }
    .wrapTLH {
        justify-content: center;
    }
    .botLineH .slog {
        display: none;
    }
    .botLineH .btnStyle {
        width: 200px;
    }
    .topLineH {
        border-top: 1px solid red;
    }
    .topBannerBlock>img {
        margin-left: calc((100% - 1760px) / 2);
        width: 1760px;
    }
    .topBannerBlock .wrapTBMini {
        top: 130px;
    }
    .topBannerBlock .wrapTBMini {
        width: auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 10px 30px;
        left: 50%;
        transform: translateX(-50%);
    }
    .topBannerBlock p.name {
        font-size: 30px;
    }
    .questionsAndPreBlock .flexSB.wrapQAP {
        display: block;
    }
    .leftQAP {
        width: auto;
    }
    .preBlock .leftPre {
        margin: 20px 0;
    }
    .preBlock .preNuc {
        margin-bottom: 10px;
    }
    .preBlock .preNuc .top {
        font-size: 20px;
    }
    .preBlock .preNuc .big {
        font-size: 30px;
    }
    .priceCalcBlock .title {
        margin-bottom: 50px;
    }
    .title h1 {
        font-size: 30px;
    }
    .priceCalcBlock {
        margin-bottom: 60px;
    }
    .priceCalcBlock .formCalcWrap {
        display: block;
    }
    .priceCalcBlock form .leftForm {
        height: 450px;
        width: 100%;
    }
    .priceCalcBlock form .leftForm .step {
        padding: 60px 40px 0px 70px;
    }
    .priceCalcBlock .rightNavBlock {
        background: url(../images/rightNavBlockFormMin.png) no-repeat center;
        width: 100%;
        height: 250px;
        padding: 30px 0;
        justify-content: flex-start;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 250px) / 2);
    }
    .banerCompl .btnStyle {
        margin-right: 10px;
    }
    .stepsJobBlock {
        margin-bottom: 40px;
    }
    .stepsJobBlock h1 {
        font-size: 25px;
    }
    .produceComplexesBlock .title {
        margin-bottom: 40px;
    }
    .wrapSliderScensBlock .flexSB.wrapBSlider {
        display: block;
    }
    .wrapSliderScensBlock {
        margin-bottom: 20px;
    }
    .wrapSliderScensBlock .wrapBSlider .sliderWrap {
        width: auto;
    }
    .wrapSliderScensBlock .txtBlockSlider {
        padding: 15px 20px;
        bottom: 0;
        width: 60%;
        position: relative;
        float: right;
        left: 0;
    }
    .wrapSliderScensBlock .txtBlockSlider p {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .wrapSliderScensBlock .txtBlock {
        width: auto;
        margin-top: 10px;
    }
    .wrapPre {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        padding: 15px 20px;
        right: 50%;
        bottom: 46px;
        width: 420px;
    }
    .aboutCompanyBlock .flexSB.wrapAC {
        display: block;
    }
    .aboutCompanyBlock .logoAC {
        margin: 20px 0;
    }
    .aboutCompanyBlock .leftBlock {
        width: 100%;
        margin-right: 0;
    }
    .aboutCompanyBlock .rightBlock {
        width: 100%;
        margin-left: 0;
    }
    .seriesScenBlock .btnStyle {
        left: calc(50% - 270px);
        bottom: 75px;
    }
    .wrapClients {
        grid-gap: 20px;
        grid-template-columns: repeat(4, 1fr);
    }
    .wrapGeogrImg .txtBlock button {
        width: 320px;
        top: 40px;
        left: 5%;
    }
    .formBlock:before {
        display: none;
    }
    .formBlock {
        padding: 30px 0 20px;
        min-height: auto;
    }
    .wrapForm {
        width: auto;
    }
    .formBlock .leftBlock {
        width: auto;
    }
    .wrapForm form {
        padding-bottom: 20px;
    }
    .formBlock .wrapLabel {
        width: auto;
    }
    .topLineF {
        padding: 15px 0;
    }
    .topLineF ul a {
        margin-right: 18px;
        font-size: 15px;
    }
    .botLineF {
        padding: 25px 0;
    }
    .botLineF .rightBlock {
        width: auto;
        grid-gap: 25px;
        margin-left: 25px;
    }
}

@media screen and (max-width:767px) {
    .banerCompl .btnStyle {
        font-size: 13px;
        padding: 7px 15px 12px;
    }
    .wrapMainButt {
        order: 1;
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 3px 0;
        font-weight: 600;
        border-top: 1px solid #ff0000;
        margin-top: 10px;
    }
    .mainButton {
        display: flex;
        justify-content: center;
        font-size: 24px;
        align-items: center;
    }
    .mainButton .lines {
        height: 20px;
        width: 30px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-right: 15px;
    }
    .mainButton .line {
        height: 2px;
        width: 100%;
        position: relative;
        transition: all 0.4s;
        background: #ff0000;
    }
    .mainButton .line:nth-child(2):before {
        position: absolute;
        content: '';
        width: 100%;
        height: 100%;
        transition: all 0.4s;
        background: #ff0000;
        left: 0;
        top: 0;
    }
    .wrapTLH ul {
        display: none;
        border-top: 1px solid #ff0000;
    }
    .wrapTLH ul a {
        font-size: 18px;
    }
    .activeMobMain {
        overflow: hidden;
    }
    .activeMobMain .mainButton .line:nth-child(1),
    .activeMobMain .mainButton .line:nth-child(3) {
        opacity: 0;
    }
    .activeMobMain .mainButton .line:nth-child(2) {
        transform: rotate(45deg);
    }
    .activeMobMain .mainButton .line:nth-child(2):before {
        transform: rotate(-90deg);
    }
    .topBannerBlock>img {
        margin-left: calc((100% - 1500px) / 2);
        width: 1500px;
    }
    .topBannerBlock .txtBlock {
        bottom: 33%;
    }
    .topBannerBlock .wrapTBMini {
        top: 130px;
    }
    .h1,
    h1 {
        font-size: 30px;
    }
    .wrapRealiseProj {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .wrapRealiseProj .nucRP {
        width: 100%;
        max-width: 360px;
    }
    .title p:not(.h1) {
        font-size: 20px;
    }
    .priceCalcBlock .title:after {
        display: none;
    }
    .priceCalcBlock .title {
        margin-bottom: 20px;
    }
    .priceCalcBlock .name {
        font-size: 25px;
        margin-bottom: 20px;
    }
    .priceCalcBlock label {
        margin-bottom: 30px;
    }
    .priceCalcBlock label span {
        height: auto;
        padding: 10px;
    }
    .priceCalcBlock form .leftForm {
        height: 375px;
    }
    .priceCalcBlock form .leftForm .step {
        padding: 30px 40px 30px;
    }
    .wrapButtons5 {
        margin-top: 40px;
    }
    .finalWindowsForm .buttonWrap {
        margin-bottom: 30px;
    }
    .stepsJobBlock {
        margin-bottom: 50px;
    }
    .wrapTitle .stepsNum p {
        font-size: 30px;
    }
    .wrapTitle .lastPSteps {
        font-size: 30px;
        margin-right: 30px;
    }
    .wrapTitle .stepsNum .num {
        font-size: 240px;
    }
    .wrapTitle .stepsNum {
        width: 30%;
    }
    .wrapSteps.flexSB {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 15px;
    }
    .nucStep {
        width: 100%;
    }
    .wrapContTab1 .txtWrap {
        width: 100%;
        padding-top: 30px;
    }
    .flexSB.wrapContTab1 .imgW {
        display: none;
    }
    .wrapContTab1 .txtWrap p {
        margin-bottom: 20px;
    }
    .banerCompl .btnStyle {
        width: auto;
        height: auto;
        padding: 10px 15px 15px;
        margin-right: 10px;
    }
    .banerCompl p {
        padding-left: 15px;
    }
    .banerCompl .txtBlock {
        width: 215px;
    }
    .wrapSliderScensBlock .slick-slide img {
        width: 80%;
    }
    .wrapSliderScensBlock2 .slick-slide img {
        height: auto;
        width: 90%;
        float: right;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        right: 47%;
        bottom: 41px;
        width: 60%;
    }
    .wrapSliderScensBlock2 .txtBlockSlider p {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .seriesScenBlock.flexCenter>img {
        display: none;
    }
    .seriesScenBlock {
        height: 100px;
    }
    .seriesScenBlock .btnStyle {
        left: 20px;
        bottom: 0;
    }
    .wrapGeogrImg .txtBlock p:after {
        display: none;
    }
    .wrapGeogrImg .txtBlock button {
        top: 80px;
    }
    .topLineF {
        display: none;
    }
    .wrapBLF.flexSB {
        flex-direction: column-reverse;
    }
    .botLineF .rightBlock {
        margin-bottom: 15px;
    }
}

@media screen and (max-width:675px) {
    body {
        font-size: 16px;
    }
    .topBannerBlock p.name {
        font-size: 26px;
    }
    .preBlock .preNuc .big {
        font-size: 26px;
    }
    .leftQAP {
        padding: 20px 15px 0;
    }
    .leftQAP .questWrap {
        padding-bottom: 10px;
        margin-bottom: 5px;
    }
    .rightQAP {
        width: 100%;
    }
    .preBlock .leftPre {
        margin: 10px 0 0;
    }
    .rightPre {
        padding: 20px 25px;
    }
    .rightPre .btnStyle {
        width: 70%;
    }
    .rightPre .after {
        text-align: left;
    }
    .wrapVideoPre {
        margin-bottom: 20px;
    }
    .wrapVideoPre .leftVP {
        width: 50%;
    }
    .wrapVideoPre .rightVP {
        width: 50%;
    }
    .wrapVideoPre .rightVP img {
        width: 100%;
    }
    .wrapFormQAP .beforeForm {
        font-size: 30px;
        ;
    }
    .wrapFormQAP form {
        padding: 10px 0;
        width: max-content;
    }
    .wrapRealiseProj {
        grid-gap: 20px;
    }
    .nucRP .sliderProj {
        margin-bottom: 10px;
    }
    .stepsJobBlock .title {
        margin-bottom: 20px;
    }
    .wrapContTab1 .txtWrap {
        padding-top: 10px;
    }
    .wrapContTab1 .txtWrap p {
        margin-bottom: 10px;
    }
    .nucTabContent .btnStyle {
        margin-top: 10px;
    }
    .nucStep {
        padding-bottom: 20px;
        margin-bottom: 10px;
    }
    .nucStep .numStep {
        font-size: 34px;
        margin-bottom: 5px;
    }
    .nucPre .imgW {
        margin-right: 20px;
    }
    .nucPre p {
        font-size: 18px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        right: 42%;
    }
    .seriesScenBlock {
        height: 75px;
    }
    .wrapClients {
        grid-gap: 10px;
        grid-template-columns: repeat(3, 1fr);
    }
    .nucClient .imgW {
        height: 130px;
    }
    .nucClient .imgW img {
        max-height: 130px;
    }
    .flexCenter.wrapGeogrImg img {
        display: none;
    }
    .geigraficBlock {
        margin-bottom: 20px;
    }
    .wrapGeogrImg {
        margin-top: 0;
        justify-content: flex-start;
    }
    .wrapGeogrImg .txtBlock {
        left: 0;
        bottom: 0;
        position: relative;
        display: flex;
        flex-direction: row-reverse;
    }
    .wrapGeogrImg .txtBlock button {
        top: 0;
        left: -3%;
        width: 100%;
    }
    .wrapGeogrImg .txtBlock p {
        margin: 0 15px 0 0;
        padding: 0 15px;
    }
    .wrapGeogrImg .txtBlock br {
        display: none;
    }
    .botLineF {
        padding: 20px 0 5px;
    }
    .botLineF .rightBlock {
        margin-left: 10px;
    }
    .botLineF .leftBlock {
        margin-left: 10px;
    }
}

@media screen and (max-width:640px) {
    .priceCalcBlock form .leftForm .step {
        padding: 20px 25px;
    }
    .priceCalcBlock .rightNavBlock {
        height: 210px;
        padding: 20px 0;
    }
    .priceCalcBlock {
        margin-bottom: 40px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 245px) / 2);
    }
    .stepsJobBlock {
        margin-bottom: 35px;
    }
    .stepsJobBlock .logo {
        margin-bottom: 40px;
    }
    .stepsJobBlock .logo>img {
        width: 50%;
    }
    .wrapTitle .stepsNum .num {
        font-size: 210px;
    }
    .stepsJobBlock .title p:not(.h1) {
        margin-top: 15px;
        font-size: 18px;
    }
    .produceComplexesBlock .title {
        margin-bottom: 20px;
    }
    .banerCompl {
        background: #fff;
        flex-direction: column;
        align-items: flex-start;
        height: auto;
    }
    .banerCompl .txtBlock {
        width: 100%;
        margin-bottom: 10px;
    }
    .banerCompl p.name {
        font-size: 20px;
        font-family: "ProximaNova-Black";
        margin-bottom: 10px;
        text-transform: uppercase;
        border-left: 4px solid #ff0000;
    }
    .slider .slick-arrow {
        width: 30px;
        height: 25px;
    }
    .wrapSliderScensBlock .slick-slide img {
        width: 100%;
    }
    .wrapSliderScensBlock .slider .slick-next {
        left: 59px;
    }
    .wrapSliderScensBlock .txtBlock {
        display: none;
    }
    .wrapSliderScensBlock .txtBlockSlider {
        width: 100%;
    }
    .preBlock {
        margin-bottom: 20px;
    }
    .wrapSliderScensBlock2 {
        margin-bottom: 25px;
    }
    .wrapSliderScensBlock2 .wrapBSlider .sliderWrap {
        width: 100%;
    }
    .wrapSliderScensBlock2 .slider.slick-initialized.slick-slider {
        display: none;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        right: 0;
        bottom: 0;
        width: 100%;
        position: relative;
    }
    .aboutCompanyBlock .title {
        margin-bottom: 20px;
    }
    .aboutCompanyBlock .rightBlock {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .aboutCompanyBlock .logoAC {
        grid-column: 1 / 3;
    }
    .nucACPre {
        width: 99%;
        margin-right: 1%;
    }
    .flexSB.infoBlock {
        display: block;
    }
    .wrapPreAC {
        display: block;
    }
    .aboutCompanyBlock .infoBlock>* {
        width: 99%;
        margin-left: 1%;
    }
}

@media screen and (max-width:600px) {
    .wrapBLH a.logo img {
        width: 85%;
    }
    .topBannerBlock .wrapTBMini {
        grid-gap: 10px;
    }
    .topBannerBlock .txtBlock {
        padding: 15px 20px;
    }
    .preBlock .preNuc p {
        font-size: 16px;
    }
    .rightPre .btnStyle {
        margin: 15px 0;
    }
    .wrapVideoPre.flexSB {
        flex-direction: column;
    }
    .wrapVideoPre .leftVP {
        width: 100%;
    }
    .wrapVideoPre .top {
        margin-bottom: 15px;
    }
    .wrapVideoPre .seeVideo {
        border-bottom: none;
    }
    .wrapVideoPre p {
        font-size: 18px;
    }
    .wrapVideoPre .rightVP {
        width: 100%;
    }
    .wrapVideoPre .rightVP img {
        width: auto;
    }
    .wrapFormQAP form {
        width: auto;
    }
    .wrapRadio {
        grid-template-columns: repeat(2, auto);
        grid-gap: 15px;
    }
    .wrapFormQAP .mask-tel-rus {
        width: 55%;
        line-height: 40px;
    }
    .nucRP .name {
        margin-top: 5px;
    }
    .priceCalcBlock label {
        margin-bottom: 10px;
    }
    .priceCalcBlock form .leftForm .step {
        padding: 15px 20px;
    }
    .flexSB.wrapButtons2 {
        flex-direction: column;
    }
    .priceCalcBlock .wrapButtons2 p {
        line-height: 1.1;
    }
    #nextStep {
        margin-bottom: 20px;
    }
    #btnCalc {
        margin-bottom: 20px;
    }
    .priceCalcBlock .rightNavBlock {
        height: 170px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 225px) / 2);
    }
    .priceCalcBlock .nucPreForm:nth-child(1) {
        background: none;
    }
    .priceCalcBlock .nucPreForm:nth-child(2) {
        background: none;
    }
    .priceCalcBlock .nucPreForm {
        padding-left: 0;
    }
    .priceCalcBlock .nucPreForm .big {
        font-size: 18px;
        font-family: "ProximaNova-Bold";
    }
    .wrapTitle .stepsNum .num {
        font-size: 155px;
        top: -25px;
        left: -10px;
    }
    .nucStep {
        margin-bottom: 0px;
    }
    .wrapContTab1 .txtWrap p {
        margin-bottom: 5px;
    }
    .wrapSliderScensBlock .txtBlockSlider p {
        font-size: 16px;
    }
    .nucPre .imgW img {
        height: 40px;
    }
    .nucPre p {
        font-size: 16px;
    }
    .nucPre p {
        font-size: 16px;
    }
    .nucClient .imgW {
        margin-bottom: 10px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider p {
        font-size: 16px;
    }
    .wrapButtons2 .buttonWrap {
        width: 100%;
    }
    .wrapGeogrImg .txtBlock button {
        font-size: 12px;
    }
    .formBlock .title {
        margin-bottom: 20px;
    }
    .title p:not(.h1) {
        margin: 10px 0 0;
    }
    .wrapPreForm {
        padding-right: 0;
    }
    .nucPreForm .top {
        font-size: 30px;
    }
    .botLineF .rightBlock a {
        font-size: 16px;
    }
    .botLineF .rightBlock {
        margin-left: 0;
    }
    .botLineF .rightBlock {
        grid-gap: 20px;
    }
}

@media screen and (max-width:485px) {
    .btnStyle {
        font-size: 15px;
    }
    .wrapBLH a.logo img {
        width: 85%;
    }
    .botLineH .btnStyle {
        height: auto;
        padding: 5px 10px 10px;
    }
    .topBannerBlock>img {
        margin-left: calc((100% - 1600px) / 2);
        width: 1600px;
    }
    .topBannerBlock .wrapTBMini {
        grid-template-columns: repeat(2, 1fr);
        top: 110px;
    }
    .topBannerBlock .txtBlock {
        bottom: 28%;
    }
    .topBannerBlock p.name {
        margin-bottom: 5px;
    }
    .questionsAndPreBlock {
        margin-top: -240px;
    }
    .rightPre .btnStyle {
        width: 100%;
    }
    .rightQAP .preBlock {
        margin-bottom: 20px;
    }
    .wrapFormQAP .mask-tel-rus {
        width: 50%;
    }
    #nextStep {
        width: auto;
        height: auto;
        padding: 5px 20px 12px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 200px) / 2);
    }
    #btnCalc {
        width: auto;
        height: auto;
        padding: 5px 20px 12px;
    }
    .wrapButtons5 .buttonWrap {
        width: 35%;
    }
    .priceCalcBlock {
        margin-bottom: 20px;
    }
    .wrapTitle:before {
        content: none;
    }
    .stepsJobBlock .title p:not(.h1) {
        margin-top: 5px;
    }
    .wrapTitle .lastPSteps {
        margin-right: 0px;
    }
    .wrapTitle .stepsNum {
        width: 40%;
        margin-left: 10px;
    }
    .stepsJobBlock .logo>img {
        width: 70%;
    }
    .wrapPre {
        grid-template-columns: 1fr;
        grid-gap: 10px;
    }
    .wrapGeogrImg .txtBlock p {
        padding: 0 15px;
        margin: 0;
    }
    .wrapGeogrImg .txtBlock button {
        top: 15px;
        width: 100%;
    }
    .geigraficBlock .title {
        margin-bottom: 15px;
    }
    .wrapForm form {
        padding-bottom: 0px;
    }
    .nucPreForm {
        padding-left: 0;
    }
    .nucPreForm:nth-child(1) {
        width: 40%;
        background: none;
    }
    .nucPreForm:nth-child(2) {
        width: 50%;
        background: none;
    }
    .botLineF .rightBlock {
        grid-gap: 10px;
        grid-template-columns: auto;
    }
    .botLineF button {
        width: auto;
        height: auto;
        font-size: 15px;
        padding: 5px 15px 10px;
    }
}

@media screen and (max-width:425px) {
    .botLineH .botLineH .btnStyle {
        display: none;
    }
    .wrapTLH .phone {
        font-size: 16px;
        padding-left: 20px;
    }
    .wrapTLH button {
        margin-left: 20px;
    }
    .wrapTLH button {
        padding-left: 40px;
        font-size: 15px;
    }
    .topBannerBlock .wrapTBMini {
        top: 130px;
    }
    .topBannerBlock .txtBlock {
        bottom: 26%;
    }
    .questionsAndPreBlock {
        margin-top: -225px;
    }
    .flexSB.flexAI.wrapInpBot {
        flex-direction: column;
    }
    .wrapFormQAP .mask-tel-rus {
        width: 100%;
        margin-bottom: 15px;
    }
    .wrapFormQAP .btnStyle {
        width: auto;
        height: auto;
        padding: 10px 25px 15px;
    }
    .priceCalcBlock .name {
        margin-bottom: 10px;
    }
    .priceCalcBlock .rightNavBlock {
        height: 150px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 190px) / 2);
    }
    .wrapButtons3 .buttonWrap {
        width: 100%;
    }
    .wrapButtons3 {
        margin-top: calc(50% - 130px);
    }
    .wrapButtons5 {
        margin-top: 10px;
    }
    .wrapButtons5 .buttonWrap {
        width: 100%;
    }
    .wrapButtons4 .buttonWrap {
        width: 100%;
    }
    .wrapButtons4 {
        margin-top: 20px;
    }
    .wrapPreForm {
        display: none;
    }
    .finalWindowsForm .buttonWrap {
        margin-bottom: 0;
        flex-direction: column;
        display: flex;
        margin-top: 20px;
    }
    .flexStart.wrapTitle {
        display: block;
    }
    .stepsNum {
        display: none;
    }
    p.lastPSteps {
        display: none;
    }
    .aboutCompanyBlock .rightBlock {
        display: block;
    }
    .nucACPre {
        width: 100%;
        margin-bottom: 10px;
        margin-right: 0;
    }
    .aboutCompanyBlock .infoBlock>* {
        width: 100%;
        margin-left: 0;
    }
    .aboutCompanyBlock .infoBlock br {
        display: none;
    }
    .aboutCompanyBlock .infoBlock .nav {
        background: url(../images/iconNav.png) no-repeat left;
        padding: 0 0 0 30px;
    }
    .aboutCompanyBlock .infoBlock .clock {
        background: url(../images/iconClock.png) no-repeat left;
        padding: 0 0 0 30px;
    }
    .aboutCompanyBlock .infoBlock .phone {
        font-family: "ProximaNova-Bold";
        background: url(../images/iconPhone.png) no-repeat left;
        padding: 0 0 0 30px;
    }
    .wrapClients {
        grid-template-columns: repeat(2, 1fr);
    }
    .nucClient .imgW {
        height: 100px;
    }
    .nucClient .imgW img {
        max-height: 100px;
    }
    .wrapGeogrImg .txtBlock {
        flex-direction: column-reverse;
    }
    .wrapGeogrImg .txtBlock button {
        left: 15px;
        width: max-content;
        height: auto;
        padding: 10px 20px 15px;
        top: 10px;
    }
    .formBlock .leftBlock {
        flex-direction: column;
        width: 100%;
    }
    .formBlock .leftBlock input {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media screen and (max-width:400px) {
    .wrapBLH a.logo {
        text-align: center;
    }
    .wrapBLH a.logo img {
        width: 75%;
    }
    .botLineH .btnStyle {
        display: none;
    }
    .wrapBLH a.logo img {
        width: auto;
        margin-bottom: 10px;
    }
    .infoH {
        justify-content: space-around;
    }
    .infoH .phone {
        margin-bottom: 0;
        font-size: 14px;
        padding-left: 0;
        background: none;
    }
    .wrapTLH button {
        font-size: 13px;
    }
    .wrapTLH {
        padding: 10px 0;
    }
    .topLineH {
        border-bottom: 2px solid red;
    }
    .topBannerBlock .wrapTBMini {
        top: 156px;
    }
    .flexSB.wrapTBMini img {
        max-width: 130px;
    }
    .topBannerBlock .txtBlock {
        bottom: 24%;
    }
    .questionsAndPreBlock {
        margin-top: -210px;
    }
    .rightPre {
        padding: 15px 20px;
    }
    .wrapVideoPre .top {
        margin-bottom: 10px;
    }
    .wrapVideoPre .rightVP img {
        width: 100%;
    }
    .priceCalcBlock label span {
        padding: 5px;
    }
    .priceCalcBlock .name {
        font-size: 20px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 170px) / 2);
    }
    .wrapSteps.flexSB {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px 10px;
    }
}

@media screen and (max-width:370px) {
    .topBannerBlock .wrapTBMini {
        display: none;
    }
    .topBannerBlock>img {
        margin-left: calc((100% - 1300px) / 2);
        width: 1300px;
    }
    .topBannerBlock .txtBlock {
        bottom: 34%;
    }
    .priceCalcBlock form .leftForm {
        height: 300px;
    }
    .priceCalcBlock .wrapButtons2 p {
        display: none;
    }
    .wrapButtons2 .buttonWrap {
        width: auto;
        margin-bottom: 20px;
    }
    .flexSB.wrapButtons2 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 260px;
    }
    .wrapButtons3 {
        margin-top: calc(50% - 100px);
    }
    .finalWindowsForm .buttonWrap {
        margin-top: 0px;
    }
    .finalWindowsForm .buttonWrap input {
        line-height: 40px;
    }
    .wrapTopNavCalc {
        margin-top: calc((50% - 150px) / 2);
    }
    .wrapContTab1 {
        display: block;
    }
    .nucTabContent .btnStyle {
        width: auto;
        height: auto;
    }
    .seriesScenBlock .btnStyle {
        height: auto;
        width: auto;
        padding-bottom: 10px;
        margin-right: 10px;
    }
    .geigraficBlock {
        display: none;
    }
    .seriesScenBlock span.imgW {
        display: none;
    }
    .seriesScenBlock .btnStyle span {
        text-align: center;
    }
    /*дополнение*/
    body p {
        line-height: 1.3;
    }
    .leftQAP .nameBlock {
        font-size: 18px;
        margin-bottom: 10px;
    }
    h5,
    .h5 {
        margin: 10px 0;
    }
    .leftQAP .questWrap {
        padding-bottom: 5px;
    }
    .leftQAP .name {
        margin-bottom: 10px;
    }
    .leftQAP .btnStyle {
        font-size: 13px;
        width: auto;
        height: auto;
        padding: 5px 15px 10px;
    }
    .btnStyle {
        font-size: 13px;
        width: auto;
        height: auto;
        padding: 5px 15px 10px;
    }
    .wrapFormQAP .beforeForm {
        font-size: 24px;
    }
    .wrapFormQAP .btnStyle {
        padding: 5px 15px 10px;
    }
    .h1,
    h1 {
        font-size: 26px;
    }
    .title p:not(.h1) {
        font-size: 16px;
    }
    .realiseProjBlock .title {
        margin-bottom: 15px;
    }
    .wrapRealiseProj {
        grid-gap: 10px;
    }
    .nucRP .name {
        font-size: 16px;
    }
    .priceCalcBlock .title {
        margin-bottom: 15px;
    }
    .nucStep {
        padding-bottom: 10px;
    }
    .banerCompl .btnStyle {
        padding: 5px 15px 10px;
        margin-right: 0;
    }
    .wrapSliderScensBlock .txtBlockSlider {
        padding: 10px 15px;
    }
    .wrapSliderScensBlock .txtBlockSlider p {
        margin-bottom: 10px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider {
        padding: 10px 15px;
    }
    .wrapSliderScensBlock2 .txtBlockSlider p {
        margin-bottom: 10px;
    }
    .title {
        margin-bottom: 10px;
        padding-top: 15px
    }
    .aboutCompanyBlock .logoAC {
        margin: 10px 0;
    }
    .aboutCompanyBlock .infoBlock>* {
        margin-bottom: 10px;
    }
    .wrapPreAC {
        padding-bottom: 0;
    }
    .seriesScenBlock {
        margin-bottom: 15px;
        height: 60px;
    }
    .seriesScenBlock .btnStyle {
        font-size: 13px;
        width: 90%;
        padding-bottom: 0;
        margin-right: 0;
        padding: 5px 15px 10px;
    }
    .formBlock .leftBlock input {
        margin-bottom: 10px;
    }
    .formBlock .leftBlock button {
        margin-bottom: 5px;
    }
}