body,
html {
    margin: 0;
    height: 100%;
    min-height: 100%
}

body {
    position: relative;
    min-width: 340px;
    text-align: left;
    color: #000;
    font: 26px "Roboto", sans-serif, arial;
    line-height: 1;
    background: #fff
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    font-family: "Roboto", sans-serif, "Roboto", sans-serif, arial;
    font-weight: 400;
    font-style: normal
}

h1 {
    margin-top: 0;
    font-size: 46px
}

h2 {
    font-size: 44px
}

h3 {
    font-size: 42px
}

h4 {
    font-size: 40px
}

h5 {
    font-size: 38px
}

h6 {
    font-size: 37px
}

h5,
h6 {
    font-size: 36px
}

@media (max-width:1024px) {
    h1 {
        margin-top: 0;
        font-size: 28px
    }

    h2 {
        font-size: 26px
    }

    h3 {
        font-size: 24px
    }

    h4 {
        font-size: 22px
    }

    h5 {
        font-size: 20px
    }

    h6 {
        font-size: 18px
    }

    h5,
    h6 {
        font-size: 16px
    }
}

a {
    text-decoration: underline;
    color: #000
}

a:hover {
    text-decoration: none
}

a img {
    border-color: #000
}

a[href^="tel:"] {
    text-decoration: none;
    color: inherit
}

img,
input,
table,
textarea {
    max-width: 100%
}

.site_wrapper {
    display: flex;
    flex-direction: column
}

* {
    box-sizing: border-box
}

.block_inner {
    max-width: 1440px;
    margin: 0 auto
}

.oveflowHidden {
    overflow: hidden
}

.field {
    margin-bottom: 16px;
    position: relative
}

.field input[type=password],
.field input[type=tel],
.field input[type=text] {
    width: 100%;
    padding: 0 16px;
    height: 39px;
    background: #fff;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #000;
    border: 2px solid #000;
    box-sizing: border-box;
    border-radius: 0;
    outline: none;
    font-family: "Roboto", sans-serif;
    transition: all 0.3s
}

.field select {
    width: 100%;
    padding: 0 16px;
    height: 39px;
    background: #fff;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #000;
    border: 2px solid #000;
    box-sizing: border-box;
    border-radius: 0;
    outline: none;
    font-family: "Roboto", sans-serif;
    transition: all 0.3s
}

.field textarea {
    width: 100%;
    padding: 10px 16px;
    height: 90px;
    background: #fff;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #000;
    border: 2px solid #000;
    box-sizing: border-box;
    border-radius: 0;
    outline: none;
    font-family: "Roboto", sans-serif;
    transition: all 0.3s
}

.field .field_name {
    font-weight: 700;
    font-size: 16px;
    line-height: 95%;
    color: #242424;
    padding-bottom: 15px
}

.field .error_text {
    padding-top: 4px;
    font-size: 12px;
    color: #f00
}

.field.checkbox ul {
    padding: 2px 0;
    margin: 0;
    list-style: none;
    max-height: 190px;
    overflow: auto
}

.field.checkbox ul li {
    margin-bottom: 10px
}

.field.checkbox ul li label {
    position: relative;
    padding-left: 30px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    color: #242424;
    cursor: pointer;
    display: inline-block
}

.field.checkbox ul li label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}

.field.checkbox ul li label span {
    position: absolute;
    top: -2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #747576;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    transition: all 0.3s;
    background-color: #fff;
    z-index: 1
}

.field.checkbox ul li label input:checked+span {
    background-color: #183E98;
    border-color: #183E98;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.6666 3.5L5.24992 9.91667L2.33325 7' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
}

.field.radio ul {
    padding: 2px 0;
    margin: 0;
    list-style: none;
    max-height: 190px;
    overflow: auto
}

.field.radio ul li {
    margin-bottom: 10px
}

.field.radio ul li label {
    position: relative;
    padding-left: 30px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    color: #242424;
    cursor: pointer;
    display: inline-block
}

.field.radio ul li label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}

.field.radio ul li label span {
    position: absolute;
    top: -2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #747576;
    background-color: #fff;
    border-radius: 50%;
    z-index: 1
}

.field.radio ul li label span:before {
    content: "";
    transition: all 0.3s;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    background: #183E98;
    opacity: 0;
    border-radius: 50%
}

.field.radio ul li label input:checked+span {
    border-color: #183E98
}

.field.radio ul li label input:checked+span:before {
    opacity: 1
}

.burger {
    flex: 0 0 44px;
    z-index: 71;
    width: 44px;
    height: 44px;
    background: #2D3145 url("data:image/svg+xml,%3Csvg width='21' height='18' viewBox='0 0 21 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.222168' y='0.445312' width='13.4444' height='2.44444' fill='%23F9C866'/%3E%3Crect x='16.1113' y='0.445312' width='4.88889' height='2.44444' fill='%23F9C866'/%3E%3Crect x='5.11133' y='7.77734' width='15.8889' height='2.44444' fill='%23F9C866'/%3E%3Crect x='0.222168' y='7.77734' width='2.44444' height='2.44444' fill='%23F9C866'/%3E%3Crect x='7.55566' y='15.1133' width='13.4444' height='2.44444' fill='%23F9C866'/%3E%3Crect x='0.222168' y='15.1133' width='4.88889' height='2.44444' fill='%23F9C866'/%3E%3C/svg%3E%0A") 50% no-repeat;
    box-sizing: border-box;
    cursor: pointer;
    display: none;
    position: relative;
    border-radius: 50%
}

@media (max-width:1024px) {
    .burger {
        display: block
    }
}

.form-popup-wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: auto;
    white-space: nowrap;
    text-align: center;
    font-size: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 100;
    background: rgba(0, 0, 0, 0.44);
    transition: all 0.5s;
    padding: 100px 40px 40px 40px
}

@media (max-width:767px) {
    .form-popup-wrapper {
        padding: 0
    }
}

.form-popup-wrapper:before {
    height: 100%;
    display: inline-block;
    vertical-align: middle;
    content: ""
}

.form-popup-wrapper.opened {
    opacity: 1;
    visibility: visible
}

.form-popup-wrapper .formExtraWrapper {
    width: 430px;
    margin: auto;
    position: relative;
    display: inline-block;
    white-space: normal;
    vertical-align: middle;
    text-align: left;
    z-index: 10
}

.form-popup-wrapper .formExtraWrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 54px;
    background: #000;
    z-index: 102
}

@media (max-width:767px) {
    .form-popup-wrapper .formExtraWrapper {
        width: 300px
    }
}

.form-popup-wrapper .formExtraWrapper .close-form {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 26px;
    height: 26px;
    background: 50% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='21' viewBox='0 0 20 21' fill='none'%3E%3Cline x1='1.65617' y1='19.2929' x2='19.0728' y2='1.87623' stroke='white' stroke-width='2'/%3E%3Cpath d='M18.3633 19.5L1.36328 0.999999' stroke='white' stroke-width='2'/%3E%3C/svg%3E") no-repeat;
    cursor: pointer;
    z-index: 105
}

.form-popup-wrapper .thank_block {
    padding: 12px;
    color: #000;
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    display: none
}

.form-popup-wrapper.send_done .thank_block {
    display: block
}

.form-popup-wrapper.send_done form {
    display: none
}

.form-popup-wrapper.send_done .formExtraWrapper:before {
    display: none
}

.form-popup-wrapper.send_done .formExtraWrapper .close-form {
    top: 9px;
    background: 50% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='21' viewBox='0 0 20 21' fill='none'%3E%3Cline x1='1.65617' y1='19.2929' x2='19.0728' y2='1.87623' stroke='%23000000' stroke-width='2'/%3E%3Cpath d='M18.3633 19.5L1.36328 0.999999' stroke='%23000000' stroke-width='2'/%3E%3C/svg%3E") no-repeat
}

.form-popup-wrapper.send_done .form-b {
    padding: 0
}

.form-b {
    font-size: 0;
    padding: 81px 36px 30px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
    z-index: 100
}

@media (max-width:767px) {
    .form-b {
        padding: 80px 20px 30px
    }
}

.form-b .title {
    color: #000;
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    padding-bottom: 20px
}

.form-b .text {
    color: #696969;
    text-align: center;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-top: 12px;
    max-width: 300px;
    margin: 0 auto
}

.form-b .field {
    max-width: 256px;
    margin: 0 auto 19px
}

.form-b .field input {
    text-align: center
}

.form-b .field.error input {
    border-color: #f00
}

.form-b .button_form {
    text-align: center
}

.form-b .button_form .btn {
    display: inline-block
}

.menu_burger {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 340px;
    z-index: 100;
    transition: all 0.3s;
    opacity: 0;
    visibility: hidden;
    background: #1B1E2A;
    font-size: 0;
    opacity: 0;
    box-shadow: 0 0 0 6000px rgba(30, 25, 61, 0.8)
}

.menu_burger.opened {
    opacity: 1;
    visibility: visible
}

.menu_burger .menu_scroll {
    overflow: auto;
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    bottom: 0
}

.menu_burger .menuClose {
    position: absolute;
    top: 7px;
    right: 10px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    box-sizing: border-box;
    background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.7071 2.70711C23.0976 2.31658 23.0976 1.68342 22.7071 1.29289C22.3166 0.902369 21.6834 0.902369 21.2929 1.29289L22.7071 2.70711ZM1.29289 21.2929C0.902369 21.6834 0.902369 22.3166 1.29289 22.7071C1.68342 23.0976 2.31658 23.0976 2.70711 22.7071L1.29289 21.2929ZM2.70711 1.29289C2.31658 0.902369 1.68342 0.902369 1.29289 1.29289C0.902369 1.68342 0.902369 2.31658 1.29289 2.70711L2.70711 1.29289ZM21.2929 22.7071C21.6834 23.0976 22.3166 23.0976 22.7071 22.7071C23.0976 22.3166 23.0976 21.6834 22.7071 21.2929L21.2929 22.7071ZM21.2929 1.29289L1.29289 21.2929L2.70711 22.7071L22.7071 2.70711L21.2929 1.29289ZM1.29289 2.70711L21.2929 22.7071L22.7071 21.2929L2.70711 1.29289L1.29289 2.70711Z' fill='white'/%3E%3C/svg%3E%0A") 50% no-repeat
}

.menu_burger .menu_top ul,
.menu_burger .menu_top2 ul {
    padding: 0;
    margin: 0;
    list-style: none
}

.menu_burger .menu_top ul>li,
.menu_burger .menu_top2 ul>li {
    padding: 2px 0
}

.menu_burger .menu_top ul>li>a,
.menu_burger .menu_top2 ul>li>a {
    display: block;
    font-style: normal;
    font-size: 18px;
    line-height: 27px;
    color: #FFFFFF;
    padding: 0 16px;
    text-decoration: none;
    position: relative
}

.menu_burger .menu_top ul>li>a:hover,
.menu_burger .menu_top2 ul>li>a:hover {
    text-decoration: underline
}

.menu_burger .menu_top ul>li>a .arrow,
.menu_burger .menu_top2 ul>li>a .arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    width: 24px;
    height: 24px;
    margin: auto
}

.menu_burger .menu_top ul>li>a .arrow:before,
.menu_burger .menu_top2 ul>li>a .arrow:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin: auto
}

.menu_burger .menu_top ul>li ul,
.menu_burger .menu_top2 ul>li ul {
    display: none;
    padding: 10px 26px;
    margin: 0;
    list-style: none
}

.menu_burger .menu_top ul>li ul li,
.menu_burger .menu_top2 ul>li ul li {
    padding: 4px 0
}

.menu_burger .menu_top ul>li ul li a,
.menu_burger .menu_top2 ul>li ul li a {
    display: block;
    font-style: normal;
    font-size: 22px;
    line-height: 27px;
    color: #FFFFFF;
    padding: 0 16px;
    text-decoration: none;
    position: relative
}

.menu_burger .menu_top ul>li.hasSubmenu ul,
.menu_burger .menu_top2 ul>li.hasSubmenu ul {
    display: block
}

.menu_burger .menu_left_inner {
    padding-top: 20px
}

.menu_burger .menu_left_inner>ul {
    background: #fff;
    padding: 16px;
    margin: 0;
    list-style: none
}

.menu_burger .menu_left_inner>ul>li>a {
    display: block;
    padding: 0;
    position: relative;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 32px;
    color: #242424;
    transition: all 0.3s;
    text-decoration: none
}

.menu_burger .menu_left_inner>ul>li>a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #183E98;
    height: 24px;
    opacity: 0;
    transition: all 0.3s;
    margin: auto
}

.menu_burger .menu_left_inner>ul>li ul {
    padding: 0 0 0 15px;
    margin: 0;
    list-style: none;
    display: none
}

.menu_burger .menu_left_inner>ul>li ul li a {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 32px;
    text-decoration: none;
    color: #242424
}

.menu_burger .menu_left_inner>ul>li ul li a:hover {
    text-decoration: underline
}

.menu_burger .menu_left_inner>ul>li ul li.opened>a {
    text-decoration: underline
}

.menu_burger .menu_left_inner>ul>li.opened>a {
    background: rgba(24, 62, 152, 0.1);
    color: #183E98;
    font-weight: 700;
    font-style: italic;
    padding-left: 15px
}

.menu_burger .menu_left_inner>ul>li.opened>a:before {
    opacity: 1
}

.menu_burger .menu_left_inner>ul>li.opened>ul {
    display: block
}

.site_wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%
}

.content_block_wr {
    flex: 1 1 auto
}

.btn {
    display: block;
    border: none;
    background: #000;
    border-radius: 0;
    outline: none;
    padding: 11px 36px;
    color: #FFF;
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    transition: all 0.3s;
    text-align: center;
    cursor: pointer;
    font-family: "Roboto", sans-serif;
    text-decoration: none;
    position: relative
}

.btn:hover {
    opacity: 0.8
}

.header {
    padding: 19px 55px;
    background: #000
}

@media (max-width:1024px) {
    .header {
        padding: 10px 55px
    }
}

@media (max-width:420px) {
    .header {
        padding: 10px 16px
    }
}

.header .block_inner {
    display: flex;
    align-items: center
}

.header .block_inner .logo {
    flex: 0 0 223px
}

.header .block_inner .logo a {
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
    font-size: 0
}

@media (max-width:1170px) {
    .header .block_inner .logo {
        flex: 0 0 113px
    }
}

.header .block_inner .menu_header {
    flex: 1 1 auto;
    padding: 0;
    margin: 0 116px
}

@media (max-width:1440px) {
    .header .block_inner .menu_header {
        margin: 0 80px
    }
}

@media (max-width:1320px) {
    .header .block_inner .menu_header {
        margin: 0 20px
    }
}

.header .block_inner .menu_header ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media (max-width:1320px) {
    .header .block_inner .menu_header ul {
        justify-content: center
    }
}

.header .block_inner .menu_header ul li {
    padding: 0 20px
}

.header .block_inner .menu_header ul li a {
    display: block;
    padding: 17px 12px;
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none
}

@media (max-width:1280px) {
    .header .block_inner .menu_header ul li a {
        font-size: 14px
    }
}

.header .block_inner .menu_header ul li a:hover {
    text-decoration: underline
}

@media (max-width:1024px) {
    .header .block_inner .menu_header {
        margin: 0
    }

    .header .block_inner .menu_header ul {
        display: none
    }
}

.header .block_inner>.form_btn_link {
    margin: 0 90px 0 0;
    cursor: pointer;
    padding: 17px 12px;
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    white-space: nowrap;
    display: none
}

@media (max-width:1440px) {
    .header .block_inner>.form_btn_link {
        margin-right: 60px
    }
}

@media (max-width:1320px) {
    .header .block_inner>.form_btn_link {
        margin-right: 20px
    }
}

@media (max-width:1170px) {
    .header .block_inner>.form_btn_link {
        font-size: 14px
    }
}

@media (max-width:1024px) {
    .header .block_inner>.form_btn_link {
        padding: 6px 12px;
        display: block
    }
}

.header .block_inner .phone {
    white-space: nowrap
}

.header .block_inner .phone a {
    display: inline-block;
    text-decoration: none;
    vertical-align: middle;
    color: #FFF;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 29px;
    padding: 0 0 0 48px;
    position: relative
}

@media (max-width:1170px) {
    .header .block_inner .phone a {
        font-size: 14px
    }
}

.header .block_inner .phone a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 29px;
    height: 29px;
    background: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.9999 0.191666H0.230713V28.8083H28.9999V0.191666Z' fill='white'/%3E%3Cpath d='M6.15384 9.31534C6.1202 8.24568 6.39981 7.18935 6.95864 6.27486C7.51747 5.36036 8.33144 4.62712 9.30153 4.16434C9.53717 4.00637 9.80218 3.89685 10.081 3.84221C10.3598 3.78757 10.6467 3.78891 10.925 3.84615C11.2033 3.90339 11.4672 4.01538 11.7014 4.17553C11.9355 4.33569 12.1351 4.54078 12.2885 4.77875C12.6075 5.14989 12.8908 5.55004 13.1346 5.97392C13.5549 6.5832 13.7259 7.32895 13.6127 8.05924C13.4995 8.78953 13.1106 9.44943 12.5254 9.9045C12.1108 10.2917 11.6792 10.6283 11.1885 10.9818C10.8594 11.2048 10.6121 11.5282 10.4839 11.9032C10.3557 12.2782 10.3535 12.6844 10.4777 13.0608C11.1481 15.3129 12.4099 17.3466 14.1331 18.9524C14.4384 19.2543 14.8357 19.447 15.2629 19.5004C15.6901 19.5537 16.123 19.4646 16.4938 19.247C17.1905 18.8926 17.9221 18.6105 18.6769 18.4053C19.1713 18.2569 19.7003 18.2691 20.1872 18.4401C20.6741 18.6112 21.0936 18.9321 21.3846 19.3564C21.7932 19.8807 22.1476 20.4447 22.4423 21.0397C22.5943 21.2879 22.6931 21.5646 22.7327 21.8525C22.7723 22.1404 22.7517 22.4334 22.6723 22.713C22.5929 22.9927 22.4563 23.253 22.2712 23.4777C22.086 23.7025 21.8562 23.8868 21.5961 24.0193C20.7541 24.6783 19.7314 25.0687 18.6623 25.1393C17.5932 25.2099 16.5276 24.9574 15.6054 24.4148C13.6333 23.3127 11.9471 21.7679 10.6808 19.9035C8.79471 17.5006 7.39527 14.7566 6.55999 11.8235C6.37384 11.0323 6.28922 10.1654 6.15384 9.31534Z' fill='black'/%3E%3C/svg%3E%0A") 50% no-repeat;
    margin: auto;
    background-size: contain
}

@media (max-width:767px) {
    .header .block_inner .phone a {
        padding-left: 20px;
        font-size: 0;
        line-height: 20px;
        height: 20px
    }

    .header .block_inner .phone a:before {
        width: 20px;
        height: 20px
    }
}

.top_image_wr {
    position: relative;
    overflow: hidden;
    font-size: 0
}

.top_image_wr .title {
    position: absolute;
    top: 145px;
    left: 20px;
    right: 20px;
    color: #000;
    text-align: center;
    font-size: 78px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}


@media (max-width:1320px) {
    .top_image_wr .title {
        top: 54px;
        font-size: 40px
    }
}

@media (max-width:1024px) {
    .top_image_wr .title {
        top: 54px;
        font-size: 20px
    }
}

.top_image_wr img {
    width: 100%;
}

@media (min-width:1025px) {
    .top_image_wr img {
        margin: -94px 0 0
    }
}

.text_block_wr {
    padding: 100px 55px
}

.text_block_wr .text {
    color: #373737;
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    padding-bottom: 26px
}

.text_block_wr .note {
    color: #373737;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}

@media (max-width:1024px) {
    .text_block_wr {
        padding: 50px 55px
    }
}

@media (max-width:767px) {
    .text_block_wr .text {
        font-size: 17px
    }

    .text_block_wr .note {
        font-size: 14px
    }
}

@media (max-width:420px) {
    .text_block_wr {
        padding: 50px 16px
    }
}

.projects_block_wr {
    padding: 138px 55px 166px
}

@media (max-width:1280px) {
    .projects_block_wr {
        padding: 80px 32px
    }
}

@media (max-width:1024px) {
    .projects_block_wr {
        padding: 20px 32px
    }
}

@media (max-width:420px) {
    .projects_block_wr {
        padding: 20px 16px
    }
}

.projects_block_wr .block_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 46px 20px
}

.projects_block_wr .block_inner .item {
    flex: 0 0 calc(25% - 16px);
    text-align: center
}

.projects_block_wr .block_inner .item .image {
    margin-bottom: 16px;
    width: 100%
}

.projects_block_wr .block_inner .item .text {
    color: #000;
    text-align: center;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    width: 100%
}

.projects_block_wr .block_inner .item .text span {
    font-size: 64px
}

.projects_block_wr .block_inner .item:last-child .text {
    padding-top: 34px
}

@media (max-width:1460px) {
    .projects_block_wr .block_inner .item .text {
        font-size: 22px;
    }
    .projects_block_wr .block_inner .item .text span {
        font-size: 44px;
    }
}

@media (max-width:1280px) {
    .projects_block_wr .block_inner .item {
        flex: 0 0 calc(50% - 10px)
    }
}

@media (max-width:900px) {
    .projects_block_wr .block_inner .item .image {
        margin-bottom: 10px
    }

    .projects_block_wr .block_inner .item .text {
        font-size: 14px
    }

    .projects_block_wr .block_inner .item .text span {
        font-size: 24px
    }

    .projects_block_wr .block_inner .item:last-child .text {
        padding-top: 0px
    }
}

.text_note_wr {
    padding: 0 55px 140px
}

.text_note_wr .body {
    flex: 1 1 auto
}

.text_note_wr .body .title {
    color: #000;
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    padding: 20px 30px 56px 0
}

.text_note_wr .body .note {
    color: #000;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}

.text_note_wr .body .note p {
    margin: 0 0 20px
}

.text_note_wr .image {
    flex: 0 0 588px
}

.text_note_wr .image .note_inner {
    color: #000;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 0;
    display: none
}

@media (max-width:1024px) {
    .text_note_wr .image .note_inner {
        font-size: 14px
    }
}

.text_note_wr .item_first {
    display: flex;
    margin-bottom: 140px
}

.text_note_wr .item_first .body {
    padding-top: 40px;
    margin-right: 20px
}

.text_note_wr .item_second {
    display: flex
}

.text_note_wr .item_second .image {
    margin-right: 142px
}

.text_note_wr .item_second .body .title {
    padding-right: 0;
    padding-bottom: 17px
}

.text_note_wr .item_second .body .note {
    padding: 0px 32px 0 0
}

@media (max-width:1240px) {
    .text_note_wr {
        padding: 0 55px 20px
    }

    .text_note_wr .image {
        flex: 0 0 50%
    }

    .text_note_wr .item_first {
        margin-bottom: 60px
    }

    .text_note_wr .item_first .body {
        padding-top: 20px
    }

    .text_note_wr .item_second .image {
        margin-right: 20px
    }
}

@media (max-width:1024px) {
    .text_note_wr .body .title {
        font-size: 17px;
        padding-top: 0;
        padding-bottom: 10px !important
    }

    .text_note_wr .body .note {
        font-size: 14px
    }
}

@media (max-width:767px) {
    .text_note_wr .body .title {
        font-size: 17px;
        padding-top: 0;
        padding-right: 0 !important;
        padding-bottom: 10px !important
    }

    .text_note_wr .body .note {
        font-size: 14px
    }

    .text_note_wr .body .note .note_inner {
        display: none
    }

    .text_note_wr .item_first {
        display: block;
        margin-bottom: 20px
    }

    .text_note_wr .item_first .image {
        margin: 0
    }

    .text_note_wr .item_first .image .note_inner {
        display: block;
        padding-top: 20px
    }

    .text_note_wr .item_second {
        display: block
    }

    .text_note_wr .item_second .image {
        margin: 0 0 20px
    }
}

@media (max-width:420px) {
    .text_note_wr {
        padding: 0 16px 20px
    }
}

.work_block_wr {
    padding: 24px 55px 140px
}

.work_block_wr .title {
    color: #000;
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}

.work_block_wr .inner {
    text-align: center;
    padding: 9px 0 0 80px
}

@media (max-width:1240px) {
    .work_block_wr {
        padding: 0 55px 42px
    }

    .work_block_wr .inner {
        padding: 32px 0 0
    }
}

@media (max-width:767px) {
    .work_block_wr .title {
        font-size: 17px
    }
}

@media (max-width:420px) {
    .work_block_wr {
        padding: 0 16px 42px
    }
}

.level_block_wr {
    padding: 0 55px 144px
}

.level_block_wr .block_inner {
    max-width: 954px;
    display: flex;
    align-items: center
}

.level_block_wr .block_inner .name {
    min-width: 102px;
    color: #000;
    text-align: center;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}

.level_block_wr .block_inner .right {
    position: relative;
    flex: 1 1 auto;
    padding-left: 142px
}

.level_block_wr .block_inner .right:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 94px;
    height: 1px;
    background: #000;
    margin: auto
}

.level_block_wr .block_inner .right:after {
    content: "";
    position: absolute;
    top: 57px;
    bottom: 57px;
    width: 1px;
    left: 94px;
    background: #000
}

.level_block_wr .block_inner .right .item {
    display: flex;
    align-items: center;
    position: relative
}

.level_block_wr .block_inner .right .item .number {
    flex: 0 0 101px;
    color: #000;
    font-size: 96px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    position: relative;
    margin-right: 20px
}

.level_block_wr .block_inner .right .item .number:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -47px;
    margin: auto;
    width: 36px;
    height: 1px;
    background: #000
}

.level_block_wr .block_inner .right .item .text {
    flex: 1 1 auto;
    color: #000;
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: normal
}

.level_block_wr .block_inner .right .item:nth-child(2n) .text {
    font-size: 26px
}

@media (max-width:1240px) {
    .level_block_wr {
        padding: 0 55px 54px
    }
}

@media (max-width:767px) {
    .level_block_wr .block_inner {
        max-width: 320px
    }

    .level_block_wr .block_inner .name {
        min-width: 48px;
        font-size: 14px
    }

    .level_block_wr .block_inner .right {
        padding-left: 36px
    }

    .level_block_wr .block_inner .right:before {
        left: 4px;
        width: 12px
    }

    .level_block_wr .block_inner .right:after {
        left: 16px;
        top: 23px;
        bottom: 23px
    }

    .level_block_wr .block_inner .right .item .number {
        flex: 0 0 22px;
        font-size: 40px;
        margin-right: 10px
    }

    .level_block_wr .block_inner .right .item .number:before {
        left: -19px;
        width: 13px
    }

    .level_block_wr .block_inner .right .item .text {
        font-size: 17px
    }

    .level_block_wr .block_inner .right .item:nth-child(2n) .text {
        font-size: 14px
    }
}

@media (max-width:420px) {
    .level_block_wr {
        padding: 0 16px 42px
    }
}

.presintation_block_wr {
    text-align: center;
    padding: 0 55px 167px
}

.presintation_block_wr .image {
    margin-bottom: 39px
}

.presintation_block_wr .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    white-space: nowrap;
    padding: 0;
    letter-spacing: 1;
    font-size: 0
}

.presintation_block_wr .btn i {
    flex: 0 0 18px;
    height: 24px;
    margin-right: 8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='24' viewBox='0 0 18 24' fill='none'%3E%3Cpath d='M13.0596 13.7063L11.806 12.7509L9.63313 15.4924V6.66553H8.00348V15.4994L5.92813 12.8755L4.54224 13.6717L7.82241 17.8117L7.75277 17.8463H7.85027L8.08009 18.1301L8.81831 19.0994L9.55652 18.1301L9.80027 17.8186H9.82813L9.80723 17.8117L13.0596 13.7063Z' fill='white'/%3E%3Cpath d='M17.3217 23.1008H0.314941V5.62695L6.06744 0.351562H17.3217V23.1008ZM2.05601 21.37H15.5807V2.08233H6.74994L2.05601 6.38156V21.37Z' fill='white'/%3E%3C/svg%3E") 50% no-repeat
}

.presintation_block_wr .btn span {
    flex: 0 0 auto
}

@media (max-width:767px) {
    .presintation_block_wr {
        padding-bottom: 115px
    }

    .presintation_block_wr .image {
        max-width: 206px;
        margin: 0 auto 17px
    }

    .presintation_block_wr .btn {
        width: 140px;
    }
    
    .presintation_block_wr .btn svg{
        height: 24px;
    }
}

@media (max-width:420px) {
    .presintation_block_wr {
        padding: 0 16px 115px
    }
}

.footer {
    padding: 19px 55px;
    background: #000;
    min-height: 342px
}

@media (max-width:1024px) {
    .footer {
        padding: 10px 55px;
        min-height: 103px
    }
}

@media (max-width:420px) {
    .footer {
        padding: 10px 16px
    }
}

.footer .block_inner {
    display: flex;
    align-items: center
}

.footer .block_inner .logo {
    flex: 0 0 223px
}

.footer .block_inner .logo a {
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
    font-size: 0
}

@media (max-width:1170px) {
    .footer .block_inner .logo {
        flex: 0 0 113px
    }
}

.footer .block_inner .menu_header {
    flex: 1 1 auto;
    padding: 0;
    margin: 0 116px
}

@media (max-width:1440px) {
    .footer .block_inner .menu_header {
        margin: 0 80px
    }
}

@media (max-width:1320px) {
    .footer .block_inner .menu_header {
        margin: 0 20px
    }
}

.footer .block_inner .menu_header ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media (max-width:1320px) {
    .footer .block_inner .menu_header ul {
        justify-content: center
    }
}

.footer .block_inner .menu_header ul li {
    padding: 0 20px
}

.footer .block_inner .menu_header ul li a {
    display: block;
    padding: 17px 12px;
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none
}

@media (max-width:1170px) {
    .footer .block_inner .menu_header ul li a {
        font-size: 14px
    }
}

.footer .block_inner .menu_header ul li a:hover {
    text-decoration: underline
}

@media (max-width:1024px) {
    .footer .block_inner .menu_header {
        margin: 0
    }

    .footer .block_inner .menu_header ul {
        display: none
    }
}

.footer .block_inner>.form_btn_link {
    margin: 0 90px 0 0;
    cursor: pointer;
    padding: 17px 12px;
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    white-space: nowrap;
    display: none
}

@media (max-width:1440px) {
    .footer .block_inner>.form_btn_link {
        margin-right: 60px
    }
}

@media (max-width:1320px) {
    .footer .block_inner>.form_btn_link {
        margin-right: 20px
    }
}

@media (max-width:1170px) {
    .footer .block_inner>.form_btn_link {
        font-size: 14px
    }
}

@media (max-width:1024px) {
    .footer .block_inner>.form_btn_link {
        padding: 6px 12px;
        display: block
    }
}

.footer .block_inner .phone {
    white-space: nowrap
}

.footer .block_inner .phone a {
    display: inline-block;
    text-decoration: none;
    vertical-align: middle;
    color: #FFF;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 29px;
    padding: 0 0 0 48px;
    position: relative
}

@media (max-width:1170px) {
    .footer .block_inner .phone a {
        font-size: 14px
    }
}

.footer .block_inner .phone a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 29px;
    height: 29px;
    background: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.9999 0.191666H0.230713V28.8083H28.9999V0.191666Z' fill='white'/%3E%3Cpath d='M6.15384 9.31534C6.1202 8.24568 6.39981 7.18935 6.95864 6.27486C7.51747 5.36036 8.33144 4.62712 9.30153 4.16434C9.53717 4.00637 9.80218 3.89685 10.081 3.84221C10.3598 3.78757 10.6467 3.78891 10.925 3.84615C11.2033 3.90339 11.4672 4.01538 11.7014 4.17553C11.9355 4.33569 12.1351 4.54078 12.2885 4.77875C12.6075 5.14989 12.8908 5.55004 13.1346 5.97392C13.5549 6.5832 13.7259 7.32895 13.6127 8.05924C13.4995 8.78953 13.1106 9.44943 12.5254 9.9045C12.1108 10.2917 11.6792 10.6283 11.1885 10.9818C10.8594 11.2048 10.6121 11.5282 10.4839 11.9032C10.3557 12.2782 10.3535 12.6844 10.4777 13.0608C11.1481 15.3129 12.4099 17.3466 14.1331 18.9524C14.4384 19.2543 14.8357 19.447 15.2629 19.5004C15.6901 19.5537 16.123 19.4646 16.4938 19.247C17.1905 18.8926 17.9221 18.6105 18.6769 18.4053C19.1713 18.2569 19.7003 18.2691 20.1872 18.4401C20.6741 18.6112 21.0936 18.9321 21.3846 19.3564C21.7932 19.8807 22.1476 20.4447 22.4423 21.0397C22.5943 21.2879 22.6931 21.5646 22.7327 21.8525C22.7723 22.1404 22.7517 22.4334 22.6723 22.713C22.5929 22.9927 22.4563 23.253 22.2712 23.4777C22.086 23.7025 21.8562 23.8868 21.5961 24.0193C20.7541 24.6783 19.7314 25.0687 18.6623 25.1393C17.5932 25.2099 16.5276 24.9574 15.6054 24.4148C13.6333 23.3127 11.9471 21.7679 10.6808 19.9035C8.79471 17.5006 7.39527 14.7566 6.55999 11.8235C6.37384 11.0323 6.28922 10.1654 6.15384 9.31534Z' fill='black'/%3E%3C/svg%3E%0A") 50% no-repeat;
    margin: auto;
    background-size: contain
}

@media (max-width:767px) {
    .footer .block_inner .phone a {
        padding-left: 20px;
        font-size: 0;
        line-height: 20px;
        height: 20px
    }

    .footer .block_inner .phone a:before {
        width: 20px;
        height: 20px
    }
    
}

  .loader {
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    display: none;
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

}