.home.banner-top-padding {
    padding-bottom: 39px;
}

.home.banner-top-padding>.wrapper {
    max-width: 1320px;
}

.home.banner-top-padding h1 {
    font-weight: 600;
    line-height: 130%;
    letter-spacing: 0;
}

.information {
    padding-top: 0;
    padding-bottom: 10px;
}

.information .item.company-item {
    margin-bottom: -15px;
}

.information .company-name {
    font: 600 30px/130% var(--title-font);
    color: var(--title-color);
    margin-bottom: 40px;
}

.information .flex-container {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: -29px;
    margin-bottom: 120px;
}

.information .flex-container .flex-item {
    box-sizing: border-box;
    margin-left: 29px;
}

.information .flex-container .tx p:first-of-type {
    margin-bottom: 21px;
}

.information .flex-container .tx p a {
    font: 600 26px/130% var(--title-font);
    color: var(--title-color);
    border: none;
}

.information .flex-container .tx .big-mail {
    border-bottom: none;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, var(--title-color)), to(var(--title-color)));
    background-image: linear-gradient(to right, var(--title-color) 0, var(--title-color) 100%);
    background-repeat: repeat-x;
    background-position: 0 90%;
    background-size: 100% 1px;
}

.information .flex-container .flex-item.company-item {
    width: calc(33.3% - 30px);
    height: 100%;
    min-height: 158px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 19px 0 38px;
    gap: 21px;
}

.information .flex-container .flex-item.company-item.justify-center {
    justify-content: center;
}

.information .flex-item.company-item p {
    max-width: 340px;
    font: 400 16px/150% var(--text-font);
    color: var(--text-color);
    margin: 0;
}

.information .flex-item.company-item span {
    font: 400 14px/150% var(--text-font);
    color: var(--text-color);
    margin-bottom: 2px;
}

.information .items-container {
    width: calc(66.6% - 28px);
    display: flex;
    gap: 30px;
}

.information .items-container .item {
    width: calc(52% - 29px);
    border: 1px solid #C8C8C8;
    border-radius: 4px;
    padding: 39px 19px 38px 39px;
}

@media screen and (min-width: 1300px) {
    .information .block {
        padding: 0;
    }

    .reach .block {
        padding: 0;
    }
}

.information .office_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 20px;
    margin-top: 60px;
}

.block-title {
    width: 100%;
    font: 600 30px/130% var(--title-font);
    color: var(--title-color);
    margin-bottom: 20px;
}

.office_item {
    width: calc(33.33% - 20px);
    box-sizing: border-box;
    border: 1px solid #C8C8C8;
    border-radius: 4px;
    padding: 39px;
}

.office_item.red-note {
    border: 1px solid var(--main-color);
    background: var(--main-color);
    padding: 40px 39px;
    width: calc(33.33% - 19px);
    margin-left: -1px;
}

.office_item p {
    margin-bottom: 0;
}

.office_item .title {
    font: 400 16px/150% var(--text-font);
    color: var(--dark-grey-color);
    margin-bottom: 21px;
}

.map-link {
    display: block;
    width: fit-content;
    font: 12px var(--text-font);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--text-color);
    letter-spacing: 0.08em;
    border: 1px solid var(--border-color);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 4px;
    margin: 0;
    padding: 10px 28px 9PX 29px;
    height: 36px;
}

.map-link:hover {
    color: var(--main-color);
    border: 1px solid var(--main-color);
}

.office_item .worktime .title {
    color: var(--text-color);
    margin-bottom: 5px;
    text-transform: capitalize;
}

.office_item.red-note .title {
    font: 600 18px/130% var(--title-font);
    color: var(--background);
    margin-bottom: 19px;
}

.office_item .descr {
    max-width: 310px;
    font: 600 18px/128% var(--title-font);
    color: var(--title-color);
    margin-bottom: 39px;
}

.office_item .worktime .descr {
    margin-bottom: 0;
}

.office_item.red-note .descr {
    font: 400 16px/150% var(--text-font);
    color: var(--background);
}

.office_item .worktime .holiday {
    color: var(--main-color);
}

.office_item .worktime {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 29px 30px;
    flex-direction: column;
    margin-top: -1px;
}


.office_item .worktime.flex-row {
    flex-direction: row;
}

.worktime_item {
    width: calc(50% - 15px);
}

.worktime_item:only-child {
    width: 100%;
}

.reach {
    margin-top: 120px;
    margin-bottom: 120px;
    padding: 0;
}

.reach .block h4 {
    margin-left: 4px;
    margin-bottom: 40px;
}

.reach .container {
    display: flex;
    margin-right: 0;
    margin-left: -30px;
}

.reach .container.l-col-2>.item {
    width: calc(50% - 30px);
    background: var(--block-background);
    margin-left: 30px;
    padding: 40px;
}

.reach .text-item .tx {
    top: 0;
}

.reach .nfo img {
    width: 50px;
    height: 50px;
    top: 0;
}

.reach .nfo {
    display: flex;
    flex-direction: column;
    gap: 31px;
    font: 600 18px/130% var(--title-font);
    letter-spacing: 0;
    text-transform: none;
    color: var(--title-color);
    margin: 0;
}

.reach .nfo span {
    margin-bottom: 18px;
}

.reach .tx p {
    font: 400 16px/150% var(--text-font);
    color: var(--dark-grey-color);
}

.map {
    margin-top: 120px;
    margin-bottom: 120px;
    padding: 0;
}

#map {
    width: 100%;
    height: 655px;
    margin-top: 40px;
}

section.map .container {
    margin: 0;
}

.contacts-consult {
    padding: 125px 0;
}

.contacts-consult .tx__container .address {
    margin-top: 40px;
}

.form-template.form-section .tx .h3 {
    margin-bottom: 21px;
}

@media (max-width:1280px) {
    .information .flex-container .tx p a {
        font-size: 18px;
    }
}

@media (max-width:999px) {

    section.home.banner-top-padding {
        padding-bottom: 40px;
    }

    section.home h1 {
        font-size: 36px;
    }

    .information {
        padding-top: 0;
    }

    .information .company-name {
        margin-bottom: 21px;
    }

    .information .flex-container {
        flex-direction: column;
        margin-bottom: 80px;
    }

    .information .flex-container .flex-item.company-item {
        width: 100%;
        min-height: auto;
        padding: 0;
        gap: 20px;
        margin-bottom: 27px;
    }

    .information .flex-item.company-item p {
        max-width: calc(100% - 30px);
        font-size: 14px;
    }

    .information .flex-item.company-item .span {
        margin-bottom: 29px;
    }

    .information .flex-container .tx p a {
        font-size: 21px;
    }

    .information .items-container {
        width: calc(100% - 29px);
    }

    .information .items-container .item {
        padding: 29px 9px 29px 29px;
    }

    .information .flex-container .tx p:first-of-type {
        margin-bottom: 16px;
    }

    .information .office_container {
        flex-direction: column;
    }

    .block-title {
        margin-bottom: 10px;
    }

    .office_item {
        width: 100%;
        padding: 29px;
    }

    .office_item .title {
        margin-bottom: 17px;
    }

    .office_item .descr {
        max-width: 99%;
        margin-bottom: 35px;
    }

    .office_item .descr.address {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .office_item .worktime .descr {
        max-width: 100%;
    }

    .office_item.work {
        padding-bottom: 28px;
    }

    .office_item .worktime {
        max-width: 65%;
        gap: 29px 51px;
        justify-content: start;
        flex-direction: row;
    }

    .worktime_item {
        width: auto;
    }

    .office_item.red-note {
        width: 100%;
        padding: 30px 29px 29px;
        margin: 0;
    }

    .office_item.red-note .title {
        margin-bottom: 15px;
    }

    .office_item.red-note .descr {
        margin-bottom: 0;
    }

    .reach {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .reach .block h4 {
        margin-left: 0;
        margin-bottom: 30px;
    }

    .reach .container {
        flex-direction: column;
    }

    .reach .container.l-col-2>.item {
        width: calc(100% - 30px);
        margin-bottom: 20px;
        padding: 30px;
    }

    .reach .nfo span {
        margin-bottom: 18px;
    }

    .reach .auto .nfo span {
        margin-bottom: 19px;
    }

    .map {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    #map {
        height: 600px;
        overflow: hidden;
        margin-top: 30px;
    }

    .contacts-consult .tx__container .address {
        margin-top: 30px;
    }
}

@media (max-width:640px) {
    section.home h1 {
        font-size: 30px;
    }

    .information .company-name {
        font-size: 21px;
    }

    .information .flex-container {
        margin-bottom: 60px;
    }

    .information .flex-container .flex-item {
        flex-direction: column;
    }

    .information .items-container {
        border: 1px solid #C8C8C8;
        border-radius: 4px;
        padding: 29px 9px 29px 29px;
        gap: 29px
    }

    .information .items-container .item {
        width: calc(100% - 40px);
        border: none;
        padding: 0;
    }

    .block-title {
        font-size: 21px;
    }

    .office_item .descr {
        line-height: 130%;
    }

    .office_item .worktime {
        max-width: 100%;
        row-gap: 28px;
    }

    .office_item.red-note .title {
        margin-bottom: 14px;
    }

    .reach {
        margin-top: 60px;
        margin-bottom: 60px;
    }

    .reach .nfo span {
        margin-bottom: 19px;
    }

    .reach .auto .nfo span {
        margin-bottom: 18px;
    }

    .map {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}