@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-BoldItalic.eot');
  src: local('Montserrat Bold Italic'), local('Montserrat-BoldItalic'), url('../fonts/Montserrat-BoldItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Montserrat-BoldItalic.woff') format('woff'), url('../fonts/Montserrat-BoldItalic.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Italic.eot');
  src: local('Montserrat Italic'), local('Montserrat-Italic'), url('../fonts/Montserrat-Italic.eot?#iefix') format('embedded-opentype'), url('../fonts/Montserrat-Italic.woff') format('woff'), url('../fonts/Montserrat-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Bold.eot');
  src: local('Montserrat Bold'), local('Montserrat-Bold'), url('../fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/Montserrat-Bold.woff') format('woff'), url('../fonts/Montserrat-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Regular.eot');
  src: local('Montserrat Regular'), local('Montserrat-Regular'), url('../fonts/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/Montserrat-Regular.woff') format('woff'), url('../fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
body {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #181818;
}
.row_header {
  display: flex;
  margin: 30px 80px 12px;
  border-bottom: 1px solid rgba(24, 24, 24, 0.85);
  padding-bottom: 18px;
  flex-wrap: wrap;
  flex-direction: row;
}
@media only screen and (max-width: 800px) {
  .row_header {
    flex-direction: column;
    align-items: center;
    margin: 30px 30px 12px;
  }
}
.row_header .header_logo {
  width: 60px;
}
.row_header .header_logo img {
  width: 60px;
  height: 60px;
}
.row_header .header_logo a {
  display: flex;
}
.row_header .header_titles {
  display: flex;
  flex-direction: column;
  margin-left: 15px;
}
@media only screen and (max-width: 800px) {
  .row_header .header_titles {
    margin: 15px;
    text-align: center;
  }
}
.row_header .header_titles .header_title {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 31px;
  text-transform: uppercase;
  color: #1E1E1E;
}
.row_header .header_titles .header_description {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  line-height: 28px;
  color: #1E1E1E;
}
.row_header .header_call {
  flex-direction: row;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 800px) {
  .row_header .header_call {
    margin-left: auto;
  }
}
.row_top_menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 70px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 800px) {
  .row_top_menu {
    flex-direction: column;
  }
}
.row_top_menu .row_top_menu_left ul.row_top_menu_list {
  flex-wrap: wrap;
}
@media only screen and (max-width: 800px) {
  .row_top_menu .row_top_menu_left ul.row_top_menu_list {
    flex-direction: column;
  }
}
.row_top_menu .row_top_menu_left ul.row_top_menu_list li {
  padding: 0 10px;
}
.row_top_menu .row_top_menu_right {
  display: flex;
  flex-direction: row;
  margin-left: auto;
  align-items: center;
}
.row_top_menu .row_top_menu_right .row_top_phone {
  margin-right: 35px;
}
@media only screen and (max-width: 800px) {
  .row_top_menu .row_top_menu_right {
    flex-direction: column;
    margin-left: 0;
  }
  .row_top_menu .row_top_menu_right .row_top_phone {
    margin: 30px 0;
  }
}
.row_top_menu .row_top_menu_right ul.row_top_menu_links {
  margin-right: 5px;
}
@media only screen and (max-width: 800px) {
  .row_top_menu .row_top_menu_right ul.row_top_menu_links {
    gap: 1em;
  }
}
.row_top_menu .row_top_menu_right ul.row_top_menu_links li {
  padding: 0 5px;
}
.row_top_menu .row_top_menu_right ul.row_top_menu_links li img {
  height: 20px;
  width: 20px;
}
.row_top_menu .row_top_menu_left ul.row_top_menu_links,
.row_top_menu .row_top_menu_right ul.row_top_menu_links,
.row_top_menu .row_top_menu_left ul.row_top_menu_list,
.row_top_menu .row_top_menu_right ul.row_top_menu_list {
  display: flex;
  list-style: none;
  margin: 0;
}
@media only screen and (min-width: 800px) {
  .row_top_menu .row_top_menu_left ul.row_top_menu_links,
  .row_top_menu .row_top_menu_right ul.row_top_menu_links,
  .row_top_menu .row_top_menu_left ul.row_top_menu_list,
  .row_top_menu .row_top_menu_right ul.row_top_menu_list {
    flex-direction: row;
  }
}
@media only screen and (max-width: 800px) {
  .row_top_menu .row_top_menu_left ul.row_top_menu_links li,
  .row_top_menu .row_top_menu_right ul.row_top_menu_links li,
  .row_top_menu .row_top_menu_left ul.row_top_menu_list li,
  .row_top_menu .row_top_menu_right ul.row_top_menu_list li {
    text-align: center;
    padding: 0.5em 0;
  }
}
.row_top_menu .row_top_menu_left ul.row_top_menu_links a,
.row_top_menu .row_top_menu_right ul.row_top_menu_links a,
.row_top_menu .row_top_menu_left ul.row_top_menu_list a,
.row_top_menu .row_top_menu_right ul.row_top_menu_list a {
  color: #181818;
  text-decoration: none;
}
a.site_button {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 28px;
  color: #181818;
  border: 1px solid #181818;
  border-radius: 0;
  background: white;
  padding: 8px 24px;
  user-select: none;
  cursor: pointer;
  transition: color 0.4s, border-color 0.4s, background-color 0.4s;
  text-decoration: none;
}
a.site_button:hover {
  background: #181818;
  color: white;
}
.row_services {
  margin: 70px 8rem 80px;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-wrap: wrap;
}
.row_services .service_element {
  display: flex;
  flex: 1 1 33%;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 60px;
}
.row_services .service_element .service_element_img {
  border-radius: 50%;
  overflow: hidden;
  width: 220px;
  height: 220px;
  margin-bottom: 57px;
}
.row_services .service_element .service_element_img img {
  width: 100%;
  height: 100%;
}
.row_services .service_element .service_element_title {
  font-size: 22px;
  text-transform: uppercase;
  margin-bottom: 30px;
  line-height: 1.41em;
  min-height: calc(3 * 1.41em);
}
.row_services .service_element .service_element_btn {
  width: 260px;
}
.row_services .service_element .service_element_btn a {
  display: flex;
  background: #292929;
  color: white;
  text-decoration: none;
  box-shadow: 1.93px 2.3px 8px rgba(0, 0, 0, 0.45);
  border-radius: 100px;
  padding: 8px 0;
  line-height: 28px;
  transition: border-color 0.4s, background-color 0.4s;
  justify-content: center;
}
.row_services .service_element .service_element_btn:hover a {
  background-color: rgba(41, 41, 41, 0.6);
}
.row_action {
  max-width: 980px;
  margin: 60px auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1024px) {
  .row_action {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.row_action .row_action_left,
.row_action .row_action_right {
  width: 460px;
}
.row_action .row_action_left h2 {
  font-size: 40px;
  text-transform: uppercase;
  margin-top: 105px;
  margin-bottom: 40px;
}
.row_action .row_action_left .action_descr {
  font-size: 18px;
  line-height: 31.5px;
  margin-bottom: 34px;
}
.row_action .row_action_left .action_submit {
  margin-top: 53px;
  margin-left: 25px;
}
.row_action .row_action_left ul {
  list-style-type: disc;
  padding-left: 1.3em;
  padding-right: 0;
  margin-left: 0.5em;
  margin-right: 0;
  margin-bottom: 28px;
}
.row_action .row_action_left ul li {
  line-height: 1.875em;
}
.row_action .row_action_right {
  display: flex;
  align-items: center;
  height: 840px;
  padding-left: 60px;
}
@media only screen and (max-width: 1024px) {
  .row_action .row_action_right {
    height: 500px;
    padding-left: 0;
  }
}
.row_action .row_action_right img {
  width: 100%;
}
.row_consult {
  margin-top: 80px;
}
.row_consult h2 {
  text-align: center;
  margin-bottom: 32px;
}
.row_consult .form_submit {
  display: flex;
  justify-content: center;
  margin-top: 53px;
}
.row_text {
  text-align: center;
  max-width: 940px;
  margin: 60px auto;
  display: flex;
  flex-direction: column;
}
.row_text h2 {
  text-transform: uppercase;
  font-size: 40px;
  padding-bottom: 40px;
  line-height: 54px;
}
.row_text p {
  font-size: 18px;
  padding-bottom: 31px;
}
.row_text span {
  font-size: 15px;
  line-height: 28px;
}
.row_projects {
  display: flex;
  flex-direction: column;
  margin: 130px auto;
}
.row_projects .row_project {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
}
@media only screen and (min-width: 1280px) {
  .row_projects .row_project .row_project_desc:first-child,
  .row_projects .row_project .row_project_img:first-child {
    justify-content: flex-end;
  }
}
@media only screen and (max-width: 1280px) {
  .row_projects .row_project .row_project_desc,
  .row_projects .row_project .row_project_img {
    justify-content: center;
  }
}
@media only screen and (max-width: 640px) {
  .row_projects .row_project {
    flex-direction: column;
  }
  .row_projects .row_project .row_project_desc {
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 1280px) {
  .row_projects .row_project .row_project_img {
    order: 1;
  }
  .row_projects .row_project .row_project_desc {
    order: 2;
  }
}
.row_projects .row_project .row_project_img {
  display: flex;
  flex: 1;
}
.row_projects .row_project .row_project_img img {
  object-fit: cover;
}
@media only screen and (min-width: 640px) {
  .row_projects .row_project .row_project_img img {
    width: 640px;
    height: 500px;
  }
}
@media only screen and (max-width: 640px) {
  .row_projects .row_project .row_project_img img {
    width: 100%;
  }
}
.row_projects .row_project .row_project_desc {
  display: flex;
  align-items: center;
  flex: 1;
  background-color: #fbfbfb;
}
@media only screen and (min-width: 640px) {
  .row_projects .row_project .row_project_desc {
    min-width: 640px;
  }
}
@media only screen and (max-width: 1280px) {
  .row_projects .row_project .row_project_desc {
    padding: 1em 1rem;
  }
}
@media only screen and (min-width: 1280px) {
  .row_projects .row_project .row_project_desc:last-child .row_project_desc_content {
    padding-left: 180px;
  }
}
.row_projects .row_project .row_project_desc .row_project_desc_content {
  flex-direction: column;
  display: flex;
}
@media only screen and (min-width: 640px) {
  .row_projects .row_project .row_project_desc .row_project_desc_content {
    width: 640px;
  }
}
.row_projects .row_project .row_project_desc .row_project_desc_content h3 {
  font-size: 22px;
  padding-bottom: 33px;
  line-height: 31px;
}
.row_projects .row_project .row_project_desc .row_project_desc_content span {
  display: inline-block;
  font-size: 15px;
  line-height: 28px;
  max-width: 460px;
}
.row_projects .row_project .row_project_desc .row_project_desc_content span.project_desc_date {
  font-size: 18px;
  padding-bottom: 31px;
}
.row_options {
  display: flex;
  flex-direction: row;
}
.row_options > * {
  flex: 1;
}
.row_options .row_options_list {
  width: 85%;
  margin-left: 1rem;
}
@media only screen and (min-width: 1024px) {
  .row_options .row_options_list {
    margin-left: calc((50% - 490px) * 0.5);
  }
}
@media only screen and (min-width: 490px) {
  .row_options .row_options_list > * {
    width: 490px;
  }
}
.row_options .row_options_list h2 {
  font-size: 40px;
  line-height: 54px;
}
.row_options .row_options_list > span {
  font-size: 18px;
  line-height: 31px;
  display: inline-block;
}
.row_options .row_options_list .row_options_block {
  margin-top: 100px;
}
.row_options .row_options_list .row_options_block .row_option {
  margin-left: 80px;
  position: relative;
}
.row_options .row_options_list .row_options_block .row_option::before {
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  left: -80px;
  top: 5px;
  background-image: url("data:image/svg+xml,%3Csvg preserveAspectRatio='xMidYMid meet' data-bbox='0 0 200 200' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' role='presentation' aria-hidden='true'%3E%3Cg%3E%3Cpath d='M108.3 58.3H66.7c-2.3 0-4.2 1.9-4.2 4.2 0 2.3 1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2-.1-2.3-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M108.3 33.3H66.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2s-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M133.3 41.7H175c2.3 0 4.2-1.9 4.2-4.2s-1.9-4.2-4.2-4.2h-41.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2z'%3E%3C/path%3E%3Cpath d='M108.3 83.3H66.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2s-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M108.3 108.3H66.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2s-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M179.2 58.3h-50c-2.3 0-4.2 1.9-4.2 4.2v50c0 2.3 1.9 4.2 4.2 4.2h50c2.3 0 4.2-1.9 4.2-4.2v-50c-.1-2.3-1.9-4.2-4.2-4.2zm-4.2 50h-41.7V66.7H175v41.6z'%3E%3C/path%3E%3Cpath d='M108.3 133.3H66.7c-2.3 0-4.2 1.9-4.2 4.2 0 2.3 1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2-.1-2.3-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M175 133.3h-41.7c-2.3 0-4.2 1.9-4.2 4.2 0 2.3 1.9 4.2 4.2 4.2H175c2.3 0 4.2-1.9 4.2-4.2 0-2.3-1.9-4.2-4.2-4.2z'%3E%3C/path%3E%3Cpath d='M108.3 158.3H66.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2h41.7c2.3 0 4.2-1.9 4.2-4.2s-2-4.2-4.3-4.2z'%3E%3C/path%3E%3Cpath d='M175 158.3h-41.7c-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2H175c2.3 0 4.2-1.9 4.2-4.2s-1.9-4.2-4.2-4.2z'%3E%3C/path%3E%3Cpath d='M184.6 0h-125c-8.9 0-17.9 5-17.9 14.6V25H17.9C9 25 0 30 0 39.6V173c0 12.5 9.3 22.9 21.3 24.7.7 1.3 2.1 2.3 3.7 2.3h159.6c9.5 0 15.4-9.7 15.4-18.7V14.6c0-9-5.9-14.6-15.4-14.6zM8.3 173V39.6c0-5 6.3-6.3 9.6-6.3h23.7V173c0 9.2-7.5 16.7-16.7 16.7S8.3 182.2 8.3 173zm183.4 8.3c0 4.9-2.9 10.4-7.1 10.4H41.5c4.5-3.9 7.5-9.4 8.3-15.7.1-.3.2-.7.2-1V14.6c0-4.6 5.7-6.3 9.6-6.3h125c6.3 0 7.1 3.4 7.1 6.3v166.7z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}
.row_options .row_options_list .row_options_block .row_option span.option_title {
  display: inline-block;
  font-size: 22px;
  line-height: 31px;
  margin-bottom: 12px;
}
.row_options .row_options_list .row_options_block .row_option span.option_desc {
  display: inline-block;
  font-size: 15px;
  line-height: 28px;
}
.row_options.row_consult .row_options_list {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.row_options.row_consult .row_options_img img {
  height: 700px;
}
.row_options .row_options_img {
  margin-left: auto;
  opacity: 0.9;
  max-width: 50%;
  overflow: hidden;
}
@media only screen and (max-width: 980px) {
  .row_options .row_options_img {
    display: none;
  }
}
.row_options .row_options_img img {
  object-fit: cover;
  height: 4085px;
  width: 952px;
}
.row_office {
  margin: 120px auto;
  max-width: 940px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media only screen and (max-width: 940px) {
  .row_office {
    flex-direction: column;
  }
}
.row_office .row_office_img img {
  width: 100%;
  height: 600px;
}
.row_office .row_office_desc {
  background-color: #f6f6f6;
  padding: 0 60px 40px;
}
@media only screen and (min-width: 940px) {
  .row_office .row_office_desc {
    margin-left: -80px;
    width: 460px;
  }
}
.row_office .row_office_desc h2 {
  font-size: 40px;
  margin-top: 40px;
  margin-bottom: 27px;
  line-height: 54px;
}
.row_office .row_office_desc span {
  display: block;
  font-size: 15px;
  line-height: 28px;
  text-align: justify;
}
.row_constructions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0 auto;
  justify-content: center;
  width: calc(100% - 80px - 80px);
}
@media only screen and (max-width: 940px) {
  .row_constructions {
    flex-direction: column;
    width: 100%;
  }
}
.row_constructions .row_construction {
  flex-basis: calc(50% - 30px);
  height: 540px;
  position: relative;
}
@media only screen and (max-width: 856px) {
  .row_constructions .row_construction {
    width: 100%;
  }
}
.row_constructions .row_construction .row_construction_img {
  height: 100%;
  display: flex;
  position: relative;
}
.row_constructions .row_construction .row_construction_img .row_construction_overlay {
  background-color: rgba(24, 24, 24, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.row_constructions .row_construction .row_construction_img img {
  width: 100%;
  object-fit: cover;
}
.row_constructions .row_construction .row_construction_desc {
  position: absolute;
  bottom: 40px;
  left: 40px;
  color: white;
}
@media only screen and (max-width: 856px) {
  .row_constructions .row_construction .row_construction_desc {
    left: 1em;
  }
}
.row_constructions .row_construction .row_construction_desc h3 {
  font-size: 22px;
  line-height: 31px;
}
.row_constructions .row_construction .row_construction_desc span {
  font-size: 18px;
  line-height: 31px;
}
.row_form {
  max-width: 940px;
  margin: 0 auto;
  margin-bottom: 60px;
}
.row_form .form_input input,
.row_form .form_select input,
.row_form .form_input select,
.row_form .form_select select {
  height: 42px;
}
.row_form .form_submit {
  display: flex;
  justify-content: center;
  margin-top: 53px;
}
form .form_agree {
  font-size: 13px;
}
form .form_agree input {
  margin-right: 13px;
  position: relative;
}
form .form_agree input::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 4px 0;
}
form .form_agree input:checked::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.4 5.686'%3E%3Cpath d='M2.55 5.686c-.017 0-.034 0-.05-.002a.7.7 0 01-.518-.29l-1.85-2.57a.7.7 0 111.136-.818L2.63 3.897 6.197.213a.7.7 0 011.006.974l-4.15 4.286a.7.7 0 01-.503.213z'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 9px 9px;
  background-position: center center;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  left: 0;
  top: 0;
  text-align: center;
  background-color: transparent;
  height: 18px;
  width: 18px;
}
form .form_agree span {
  line-height: 20px;
}
form .form_input,
form .form_select {
  margin-top: 15px;
  margin-bottom: 10px;
}
form .form_input input,
form .form_select input,
form .form_input textarea,
form .form_select textarea,
form .form_input select,
form .form_select select {
  font-family: Arial;
  height: 58px;
  width: 100%;
  border: 1px solid transparent;
  border-bottom-color: #181818;
  font-size: 15px;
  padding: 3px 3px 3px 12px;
  box-sizing: border-box;
}
form .form_input input:focus,
form .form_select input:focus,
form .form_input textarea:focus,
form .form_select textarea:focus,
form .form_input select:focus,
form .form_select select:focus,
form .form_input input:hover,
form .form_select input:hover,
form .form_input textarea:hover,
form .form_select textarea:hover,
form .form_input select:hover,
form .form_select select:hover {
  border-color: #181818;
  outline: none;
}
form .form_input textarea,
form .form_select textarea {
  height: 125px;
}
form .form_button {
  background: #181818;
  color: white;
  text-decoration: none;
  box-shadow: 1.93px 2.3px 8px rgba(0, 0, 0, 0.45);
  padding: 8px 0;
  line-height: 28px;
  transition: border-color 0.4s, background-color 0.4s;
  justify-content: center;
  cursor: pointer;
  border-width: 0;
  height: 70px;
  min-width: 230px;
}
form .form_button:hover {
  background-color: rgba(41, 41, 41, 0.6);
}
.row_footer {
  min-height: 51px;
  margin-top: 77px;
  margin-bottom: 32px;
  text-align: center;
  line-height: 25px;
}
