@font-face { /*PT Sans*/
    font-weight: 400; /* Соответствует значению normal */
    font-family: 'PT Sans';
    src: url('../fonts/PTS55F.ttf') format('truetype');
}
@font-face { /*PT Sans Bold*/
    font-weight: 700; /* Соответствует значению bold */
    font-family: 'PT Sans';
    src: url('../fonts/PTS75F.ttf') format('truetype');
}
@font-face { /*PT Sans Italic*/
    font-style: italic;
    font-family: 'PT Sans';
    src: url('../fonts/PTS56F.ttf') format('truetype');
}
@font-face { /*PT Sans Bold Italic*/
    font-weight: 700;
    font-style: italic;
    font-family: 'PT Sans';
    src: url('../fonts/PTS76F.ttf') format('truetype');
}


@font-face { /*PT Sans Narrow */
    font-family: 'PT Sans Narrow';
    src: url('../fonts/PTN57F.ttf') format('truetype');
}
@font-face { /*PT Sans Narrow Bold */
    font-weight: 700; /* Соответствует значению bold */
    font-family: 'PT Sans Narrow';
    src: url('../fonts/PTN77F.ttf') format('truetype');
}

@font-face { /*PT Sans Caption */
    font-family: 'PT Sans Caption';
    src: url('../fonts/PTC55F.ttf') format('truetype');
}
@font-face { /*PT Sans Caption Bold */
    font-weight: 700;
    font-family: 'PT Sans Caption';
    src: url('../fonts/PTC75F.ttf') format('truetype');
}

body {
    font-size: 24px;
    color: #fff;
    margin: 0;
    font-family: "PT Sans", Arial, sans-serif;
}
div {
    box-sizing: border-box;
}

a, a:visited, a:hover, a:active {
    color: #fff;
    text-decoration: none;
}

    a:hover {
        color: #fff;
        text-decoration: underline;
    }

.bold {
    font-weight: 600;
}

.title {
    font-size: 42px;
    margin-bottom: 25px;
    display: block;
    text-transform: uppercase;
}

.header .logoContainer img {
    width: 403px;
    max-width: 403px;
    /*height: 310px; */
}

.footer .logoContainer img {
    width: 238px;
    max-width: 238px;
    height: auto
    /*height: 310px;  width="238" height="168"*/
}

.phone img {
    width: 41px;
    max-width: 41px;
    height: auto
    /*width="41" height="40"*/    
}

.mail img {
    width: 41px;
    max-width: 41px;
    height: auto
    /* width="41" height="29"*/
}

.block .subtitle {
    font-size: 26px;
    margin-bottom: 25px;
    display: block;
}

.footer .subtitle {
    font-size: 26px;
    margin-bottom: 25px;
    display: block;
}

.row > div.about {
    color: #000;
    padding: 0 40px;
}

.about .text div{
    margin-bottom: 30px;
}

.about .text div:last-child{
    margin-bottom: 0;
}

.row {
    max-width: 1600px;
    width: 100%;
    padding: 0 41px;
    margin: 0 auto 52px;
    box-sizing: border-box;
}

    .row > div {
        border-radius: 32px;
        padding: 40px 0;
    }

        .row > div.blocks {
            display: flex;
            flex-wrap: wrap;
            padding: 40px 0 0 0;
        }

        .row > div.header {
            display: flex;
            flex-wrap: wrap;
            border-radius: 0;
            padding: 0;
            background: url('../images/bg1.jpg');
            background-position: -41px 0;
            background-repeat: no-repeat;
            height: 1070px;
            display: flex;
            position: relative;
        }

    .header .mailAndTelegram {
        display: none;
    }

.logoBlock {
    margin-top: 40px;
    width: 510px; /*510 556px*/
}

.address {
    font-size: 22px;
}

.menu {
    margin-top: 40px;
    margin-left: 130px;
}

    .menu a {
        font-size: 24px;
        line-height: 1.5;
        display: block;
        color: #000;
        position: relative;
        padding-left: 34px;
        text-transform: uppercase;
    }

    .menu a:before {
        content: ""; /* Required for pseudo-elements */
        position: absolute;
        left: 10px;
        top: 50%; /* Vertically centers the circle */
        transform: translateY(-50%); /* Fine-tunes vertical centering */
        width: 10px; /* Adjust size of the circle */
        height: 10px; /* Adjust size of the circle */
        border-radius: 50%; /* Makes it a perfect circle */
    }

        .menu a:first-child:before {
            background-color: #f84c02;
        }

        .menu a:last-child:before {
            background-color: #008cd3;
        }

.projects500 {
    font-size: 24px;
    color: #95a6b1;
    text-transform: uppercase;
    line-height: 1;
    position: absolute;
    bottom: 320px;
    left: 0;
    /*font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;*/
}
    .projects500 .count {
        font-size: 64px;
        line-height: 0.8;
        font-weight: 700;
        letter-spacing: -4.5px;
    }

.year20 {
    font-size: 24px;
    position: absolute;
    bottom: 26px;
    left: calc(549px - 214px - 41px);
    right: auto;
    top: auto;
    border: 5px solid #fff;
    border-radius: 30px;
    padding: 4px 16px 10px;
    transform: rotate(7deg);
    text-align: center;
    line-height: 1;
    font-weight: 600;
}
    .year20 .count {
        font-size: 42px;
    }
h1 {
    font-size: 38px;
    text-transform: uppercase;
    line-height: 45px;
    font-weight: normal;
    margin-bottom: 0;
}
h2 {
    margin-top: 0;
    font-size: 27px;
    text-transform: uppercase;
    line-height: 1.2;
    font-weight: normal;
}

.mainInfoBlock {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(100% - 510px);
}

.slogan {
    margin-left: 80px;
}

.mainInfoContent .presentaitionContainer {
    position: relative;
    vertical-align: middle;
}

.mainInfoContent .presentaition {
    margin: 0 48px;
    padding: 21px 33px 20px;
    border-radius: 36px;
    background-color: #008bd2;
    text-transform: uppercase;
    font-size: 26px;
    display: inline-block;
    vertical-align: middle;
}

.mainInfoContent .phoneAndMail {
    display: inline-block;
    vertical-align: middle;
}
.mainInfoContent .sertification {
    font-size: 20px;
    position: absolute;
    top: 58px;
    right: 56px;
    border: 3px solid #fff;
    padding: 4px 12px 6px;
    transform: rotate(-10deg);
    text-align: center;
    line-height: 1;
    font-style: italic;
}

.mainInfoContent .mainInfo {
    margin: 0 80px;
    font-size: 26px;
}

    .mainInfoContent .mainInfo ul {
        margin: 40px 0 36px;
    }

        .mainInfoContent .mainInfo ul li {
            padding: 10px 0 10px 20px;
        }

.blocks.blocksOrange {
    background: linear-gradient(to top, #d84e15, #e99c37);
}

.blocks.blocksBlue {
    background-color: #008bd2;
}

.block {
    width: 50%;
    padding: 0 40px;
    box-sizing: border-box;
    margin-bottom: 52px;
}

    .block > div:first-child {
        border-radius: 32px;
        border: 1px solid transparent;
        overflow: hidden;
    }

    .block div:not(:last-child) {
        margin-bottom: 22px;
    }

.blockTitle {
    font-size: 32px;
    line-height: 1;
}

.services {
    background-color: #008cd3;
    display: flex;
}

.service {
    width: 50%;
    padding: 0 40px;
    display: flex;
    align-items: center;
}

.serviceArrow {
    width: 39px;
    min-width: 39px;
    /*height: 126px;
    background-image: url("../images/arrow.png");*/
}

.serviceArrow img{
    width: 100%;
}

.serviceText {
    font-size: 28px;
    padding: 0 40px;
}

.footer {
    color: #fff;
    display: flex;
    align-items: end;
    /*justify-content: space-between;*/
    background: linear-gradient(to right, #d84d15, #eaa13a);
}

    .footer > div {
        padding: 0 40px;
    }

.contacts {
    text-align: center;
    flex-grow: 3;
}

    .contacts > div {
        text-align: left;
        display: inline-block;
    }

.footer .phone {
    font-size: 42px;
    line-height: 1;
    margin-bottom: 8px;
}

    .footer .phone img {
        margin-left: 12px;
    }

.footer .mail {
    font-size: 26px;
    line-height: 1;
    vertical-align: middle;
    padding-bottom: 3px;
}

    .footer .mail img {
        margin-right: 12px;
        vertical-align: middle;
    }

.header .phone {
    font-size: 38px;
    line-height: 1;
    margin-bottom: 3px;
}

    .header .phone img {
        margin-left: 12px;
    }

.header .mail {
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
    padding-bottom: 3px;
}

    .header .mail img {
        margin-right: 12px;
        vertical-align: middle;
    }

.line, .parentLine {
    white-space: nowrap;
    display: block
}

.clients img {
    vertical-align: middle;
    margin: 0 8px;
}

.clients {
    text-align: center;
}

.mainInfoContentMobile {
    display: none;
}
