@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Light.woff2") format("woff2"), url("/fonts/Montserrat-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Regular.woff2") format("woff2"), url("/fonts/Montserrat-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Medium.woff2") format("woff2"), url("/fonts/Montserrat-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-SemiBold.woff2") format("woff2"), url("/fonts/Montserrat-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Bold.woff2") format("woff2"), url("/fonts/Montserrat-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-ExtraBold.woff2") format("woff2"), url("/fonts/Montserrat-ExtraBold.woff2") format("woff2");
}
.fw700 {
  font-weight: 700;
}

.fw600 {
  font-weight: 600;
}

.fw500 {
  font-weight: 500;
}

.fw300 {
  font-weight: 300;
}

.mt5 {
  margin-top: 0.35vw;
}

.mt10 {
  margin-top: 0.7vw;
}

.mt15 {
  margin-top: 1.042vw;
}

.mt20 {
  margin-top: 1.4vw;
}

.mt30 {
  margin-top: 2.083vw;
}

.mt40 {
  margin-top: 2.778vw;
}

.mt50 {
  margin-top: 3.472vw;
}

.mt60 {
  margin-top: 4.167vw;
}

.mt80 {
  margin-top: 5.556vw;
}

.pt20 {
  padding-top: 1.389vw;
}

.pt50 {
  padding-top: 3.472vw;
}

.pt70 {
  padding-top: 4.861vw;
}

.uppercase {
  text-transform: uppercase;
}

.pointer {
  cursor: pointer;
}

.relative {
  position: relative;
}

.center {
  text-align: center;
}

.fancybox__caption {
  color: #fff;
}

.border {
  border: 1px solid #E2555B;
}

.red {
  color: #E2555B;
}

.white {
  color: #fff;
}
.white b {
  color: #fff;
}

.hide {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: 0.3s all ease;
}

.transition {
  transition: 0.3s all ease;
}

.d_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap;
}

.justify_start {
  justify-content: flex-start;
}

.align_start {
  align-items: flex-start;
}

.nowrap {
  flex-wrap: nowrap;
}

.bg_img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.before {
  position: relative;
}
.before:before, .before:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.not_found_page {
  position: absolute;
  top: 53%;
  right: 0;
  transform: translateY(-50%) rotate(-18deg);
  font-size: 16vw;
  color: rgba(255, 255, 255, 0.18) !important;
}

.arr_link {
  cursor: pointer;
  color: #E2555B;
  justify-content: flex-start;
}
.arr_link:hover {
  text-decoration: underline;
}
.arr_link img {
  width: 0.8vw;
  margin-left: 1vw;
  transition: 0.3s all ease;
}

.btn {
  background-color: #E2555B;
  border: 1px solid #E2555B;
  height: 3.125vw;
  padding: 0 1.389vw;
  width: -moz-max-content;
  width: max-content;
  color: #fff;
  transition: 0.3s all ease;
  position: relative;
  overflow: hidden;
}
.btn.calc_img img {
  width: 2.1vw;
  height: 2.1vw;
}
.btn.one_click img {
  width: 2.2vw;
}
.btn.svg_arr svg {
  width: 0.7vw;
  height: 0.7vw;
}
.btn svg, .btn img {
  padding-left: 1.1vw;
}
.btn:before {
  content: "";
  position: absolute;
  top: -20%;
  left: -20%;
  width: 10px;
  background-color: #fff;
  height: 140%;
  display: inline-block;
  z-index: 1;
  transform: rotate(30deg);
  animation: 5s moveLine linear infinite;
}
.btn.white_btn {
  background-color: transparent;
  border-color: #fff;
}
.btn.white_btn:hover {
  background-color: #E2555B;
  border-color: #E2555B;
}
.btn:hover {
  text-decoration: none;
  background-color: transparent;
}
.btn:hover:before {
  display: none;
}

.section_heading {
  font-size: 2.222vw;
  font-weight: 600;
  margin-bottom: 2.5vw;
}

.label {
  background-color: #E2555B;
  color: #fff;
  border-radius: 1vw;
  font-size: 0.8vw;
  padding: 0.35vw 0.75vw;
}
.label.blue {
  background-color: #3C67FF;
}
.label img {
  width: 0.9vw;
  margin-right: 0.4vw;
}

.slider-arr {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  transition: 0.3s all ease;
  width: 2.778vw;
  height: 2.778vw;
  justify-content: center;
  background-color: #F1F5F6;
  cursor: pointer;
}
.slider-arr svg {
  width: 40%;
  height: 40%;
}
.slider-arr:hover {
  background-color: #E2555B;
}
.slider-arr:hover svg path {
  fill: #fff;
  fill-opacity: 1;
}
.slider-arr.prev {
  left: 0;
}
.slider-arr.next {
  right: 0;
}

.breadcrumbs ol {
  justify-content: flex-start;
  position: relative;
  z-index: 4;
}
.breadcrumbs ol li {
  padding-right: 0.75vw;
  margin-right: 1vw;
  position: relative;
}
.breadcrumbs ol li:after {
  display: none;
}
.breadcrumbs ol li:before {
  content: "-";
  left: 100%;
  color: #fff;
}
.breadcrumbs ol li:last-child:before {
  display: none;
}
.breadcrumbs ol a:hover {
  -webkit-text-decoration-color: #fff;
          text-decoration-color: #fff;
}
.breadcrumbs ol a:hover span {
  color: #fff;
}
.breadcrumbs ol span {
  color: rgba(255, 255, 255, 0.7);
}

@media only screen and (max-width: 900px) {
  .mt10 {
    margin-top: 5px;
  }

  .mt15 {
    margin-top: 10px;
  }

  .mt20 {
    margin-top: 10px;
  }

  .mt30 {
    margin-top: 20px;
  }

  .mt40 {
    margin-top: 20px;
  }

  .mt50 {
    margin-top: 30px;
  }

  .mt60 {
    margin-top: 50px;
  }

  .mt80 {
    margin-top: 50px;
  }

  .pt20 {
    padding-top: 20px;
  }

  .pt50 {
    padding-top: 50px;
  }

  .pt70 {
    padding-top: 50px;
  }

  .section_heading {
    font-size: 22px;
    margin-bottom: 15px !important;
  }
  .section_heading br {
    display: none;
  }

  .slick-dots {
    bottom: 15px;
  }
  .slick-dots li {
    width: 5px;
    height: 5px;
  }

  .label {
    font-size: 10px;
    padding: 3px 5px;
  }
  .label img {
    width: 10px;
    margin-right: 5px;
  }

  .arr_link img {
    width: 10px;
    margin-left: 10px;
  }

  .btn {
    height: 45px;
    padding: 0 20px;
  }
  .btn img, .btn svg {
    padding-left: 10px;
  }
  .btn.calc_img img {
    width: 30px;
    height: 30px;
  }
  .btn.svg_arr svg {
    width: 12px;
    height: 12px;
  }

  .slider-arr {
    width: 30px;
    height: 30px;
  }

  .breadcrumbs ol {
    display: inline-block;
  }
  .breadcrumbs ol li {
    display: inline;
    margin-right: 10px;
    padding-right: 7px;
  }
  .breadcrumbs ol li:before {
    font-size: 12px;
    line-height: 0;
  }
  .breadcrumbs ol span {
    font-size: 12px;
  }

  .fancybox__caption {
    font-size: 14px;
    text-align: center;
  }

  .not_found_page {
    position: relative;
    top: 0;
    transform: translateY(0) rotate(0);
    font-size: 120px;
    color: #fff !important;
    text-align: center;
  }

  .not_found_page_section.callback_section {
    padding-top: 100px;
  }
  .not_found_page_section.callback_section p, .not_found_page_section.callback_section a {
    text-align: center;
  }
  .not_found_page_section.callback_section .justify_start {
    justify-content: center;
  }
  .not_found_page_section.callback_section .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@keyframes moveLine {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  outline: none;
  font-family: "Montserrat", sans-serif;
  box-sizing: border-box;
  color: #000;
}

html {
  height: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  background-color: #fff;
  font-size: 1vw;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

p {
  font-weight: 400;
  font-size: 1vw;
  color: #000;
}

a {
  text-decoration: none;
  font-size: 1vw;
  font-weight: 400;
  transition: 0s all ease-out;
  color: #000;
}
a:hover {
  text-decoration: underline;
}

.container {
  margin: 0 auto;
  padding: 0 40px;
  max-width: 92vw;
}

select {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

form button {
  cursor: pointer;
}

b {
  font-weight: 600;
}

ol, ul {
  list-style: none;
}

svg {
  transition: 0.3s all ease;
}

svg path {
  transition: 0.3s all ease;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

strong {
  font-weight: bold;
}

input {
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: 0;
  max-width: 100%;
}

/* Chrome, Opera, Safari */
details summary::-webkit-details-marker {
  display: none;
}

details :focus {
  outline: 0;
}

/* Firefox */
details, summary {
  display: block;
}

details summary:before {
  content: none;
}

details[open] summary:before {
  content: none;
}

::-webkit-scrollbar-track {
  background-color: #fff;
}

::-webkit-scrollbar-thumb {
  background-color: #000;
  background-position: center;
  background-repeat: no-repeat;
}

::-webkit-scrollbar {
  width: 12px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

@media only screen and (max-width: 900px) {
  p, a {
    font-size: 14px;
  }

  .container {
    margin: 0 auto;
    padding: 0 18px;
    width: 100%;
    max-width: 100%;
  }

  html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
}
.fz10 {
  font-size: 0.694vw;
}

.fz11 {
  font-size: 0.764vw;
}

.fz12 {
  font-size: 0.833vw;
}

.fz13 {
  font-size: 0.903vw;
}

.fz16 {
  font-size: 1.111vw;
}

.fz18 {
  font-size: 1.25vw;
}

.fz20 {
  font-size: 1.389vw;
}

.fz24 {
  font-size: 1.667vw;
}

.fz32 {
  font-size: 2.222vw;
}

.fz40 {
  font-size: 2.778vw;
}

@media only screen and (max-width: 900px) {
  .fz11 {
    font-size: 10px;
  }

  .fz12 {
    font-size: 10px;
  }

  .fz13 {
    font-size: 16px;
  }

  .fz16 {
    font-size: 16px;
  }

  .fz18 {
    font-size: 16px;
  }

  .fz20 {
    font-size: 16px;
  }

  .fz24 {
    font-size: 16px;
  }

  .fz32 {
    font-size: 18px;
  }

  .fz40 {
    font-size: 24px;
  }
}
form input {
  height: 3.125vw;
  box-sizing: border-box;
  margin-right: 1.5vw;
  background-color: transparent;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  font-size: 1.25vw;
  color: #fff;
}
form input::-moz-placeholder {
  color: #fff;
}
form input:-ms-input-placeholder {
  color: #fff;
}
form input::placeholder {
  color: #fff;
}
form .required input {
  width: 1.042vw;
  height: 1.042vw;
  margin: 0 0.75vw 0 0;
  padding: 0;
  cursor: pointer;
}
form .required input:checked:after {
  background-color: #E2555B;
  border-radius: 0.2vw;
  z-index: 2;
  background-image: url("/img/checked.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 0.75vw 0.75vw;
}
form .required input:checked:before {
  background-color: #E2555B;
  border: none;
}
form .required input:before {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: #F1F5F6;
  border-radius: 0.2vw;
  z-index: 1;
}
form .required label {
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}
form .required label a {
  text-decoration: underline;
}
form .required label a:hover {
  color: #E2555B;
}
form textarea {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  resize: none;
  box-sizing: border-box;
  border-radius: 0;
  outline: none;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  font-size: 1.25vw;
  padding: 0.5vw 1vw;
}

@media only screen and (max-width: 900px) {
  form .input_row label {
    font-size: 12px;
  }
  form input {
    height: 45px;
    font-size: 18px;
    padding: 0 10px;
  }
  form textarea {
    font-size: 16px;
    height: 100px;
    padding: 10px;
  }
  form .required {
    flex-flow: nowrap;
  }
  form .required input {
    width: 15px;
    height: 15px;
    margin-right: 10px;
  }
  form .required input:checked:after {
    background-size: 8px 8px;
  }
}
.content_seo h1, .content_seo h2, .content_seo h3, .content_seo h4, .content_seo h5, .content_seo h6 {
  font-weight: 500;
}
.content_seo h1:first-child, .content_seo h2:first-child, .content_seo h3:first-child, .content_seo h4:first-child, .content_seo h5:first-child, .content_seo h6:first-child {
  margin-top: 0;
}
.content_seo h1 {
  font-size: 2.222vw;
  margin-top: 2vw;
}
.content_seo h2 {
  font-size: 2vw;
  margin-top: 1.8vw;
}
.content_seo h3 {
  font-size: 1.8vw;
  margin-top: 1.6vw;
}
.content_seo h4, .content_seo h5, .content_seo h6 {
  font-size: 1.6vw;
  margin-top: 1.6vw;
}
.content_seo p {
  margin: 1vw 0;
  color: #231F20;
  line-height: 140%;
}
.content_seo ul {
  margin-top: 1vw;
  margin-bottom: 1.5vw;
}
.content_seo ul li {
  position: relative;
  padding-left: 1vw;
  font-size: 1vw;
  margin: 0.5vw 0;
}
.content_seo ul li:before {
  content: "";
  width: 0.4vw;
  height: 0.4vw;
  border-radius: 50%;
  background-color: #E2555B;
  position: absolute;
  top: 0.4vw;
  left: 0;
}
.content_seo ul li p {
  margin: 10px 0;
}
.content_seo .row {
  display: flex;
  align-items: flex-start;
}
.content_seo .row .col-md-6:nth-child(2) {
  position: sticky;
  top: 50px;
}
.content_seo .row .col-md-6 {
  width: -moz-fit-content;
  width: fit-content;
}
.content_seo .row .col-md-6:first-child {
  margin-right: 20px;
}
.content_seo table {
  width: 100% !important;
  margin: 2vw 0;
}
.content_seo table caption b {
  color: #fff;
}
.content_seo table caption,
.content_seo table thead {
  background-color: #E2555B;
  padding: 1vw 0;
  font-size: 1.1vw;
  color: #fff;
}
.content_seo table caption tr,
.content_seo table thead tr {
  color: #fff;
}
.content_seo table caption tr th,
.content_seo table thead tr th {
  color: #fff;
  font-weight: 600;
  padding: 1vw 1.25vw;
  font-size: 1.1vw;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.content_seo table td {
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 1vw;
  padding: 1vw 1.25vw;
  vertical-align: center;
}

@media only screen and (max-width: 900px) {
  .content_seo h1 {
    font-size: 22px;
    margin-top: 20px;
  }
  .content_seo h2 {
    font-size: 20px;
    margin-top: 20px;
  }
  .content_seo h3 {
    font-size: 18px;
    margin-top: 20px;
  }
  .content_seo h4, .content_seo h5, .content_seo h6 {
    font-size: 16px;
    margin-top: 20px;
  }
  .content_seo p, .content_seo a {
    font-size: 14px;
  }
  .content_seo p {
    margin: 10px 0;
  }
  .content_seo ul li {
    font-size: 14px;
  }
  .content_seo .btgrid .row {
    flex-flow: wrap;
  }
  .content_seo .btgrid .col-md-6 {
    width: 100%;
  }
  .content_seo table {
    margin: 20px 0;
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
  .content_seo table caption tr th,
.content_seo table thead tr th {
    font-size: 14px;
    padding: 10px;
  }
  .content_seo table td {
    font-size: 14px;
    padding: 10px;
  }
}
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}
header.dark_bg {
  background-color: #1C1A1B;
}
header.fixed {
  background-color: #1C1A1B;
  position: fixed;
}
header.fixed .top_row {
  height: 0;
  overflow: hidden;
}
header .child_menu {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  position: absolute;
  top: 100%;
  left: -1vw;
  width: -moz-max-content;
  width: max-content;
  background-color: #1C1A1B;
}
header .child_menu li:hover a svg {
  transform: rotate(0);
}
header .child_menu a {
  padding: 0.5vw 1vw;
  color: #fff;
  display: flex;
}
header .child_menu > li .child_menu {
  left: 100%;
  top: 0;
  padding: 0;
}
header .lang_block {
  position: relative;
}
header .lang_block .current_lang {
  padding: 1vw 0;
  cursor: pointer;
}
header .lang_block:hover .current_lang {
  color: #E2555B;
  text-decoration: none;
}
header .lang_block:hover .current_lang svg {
  transform: rotate(180deg);
}
header .lang_block:hover .current_lang svg path {
  fill: #E2555B;
}
header .lang_block:hover .child_menu {
  opacity: 1;
  visibility: visible;
  z-index: 99;
}
header .has_child {
  transition: 0.3s all ease;
}
header .has_child svg {
  margin-left: 0.5vw;
}
header nav > ul > li {
  margin-right: 2.8vw;
}
header nav > ul > li > a {
  display: inline-block;
  padding: 1vw 0;
}
header nav li {
  position: relative;
}
header nav li.current > a {
  text-decoration: underline;
}
header nav li:hover > .child_menu {
  opacity: 1;
  visibility: visible;
  z-index: 99;
}
header nav li:hover > a {
  color: #E2555B;
  text-decoration: none;
}
header nav li:hover > a svg {
  transform: rotate(180deg);
}
header nav li:hover > a svg path {
  fill: #E2555B;
}
header nav a {
  color: #fff;
}
header .menu_row {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
header .menu_row.bottom_border {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
header .messengers {
  margin-left: 1.4vw;
  margin-right: 2.083vw;
}
header .tel_block {
  flex-direction: column;
  justify-content: center;
}
header .tel_block a:hover {
  color: #E2555B;
  text-decoration: none;
}
header .link_icon {
  height: 5.556vw;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0 2.083vw;
  transition: 0.3s all ease;
}
header .link_icon:hover svg path {
  fill: #E2555B;
}
header .link_icon.last_link_icon {
  padding-right: 0;
}
header .w20 svg {
  width: 1.389vw;
  height: 1.389vw;
}
header .logo_col img {
  width: 5.556vw;
  transition: 0.3s all ease;
}
header .logo_col p {
  margin-left: 1.389vw;
}

.burger_btn {
  display: none;
  margin-left: 15px;
  width: 20px;
  height: 30px;
}
.burger_btn span {
  display: block;
  width: 20px;
  height: 3px;
  background: #fff;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s all ease;
}
.burger_btn span:first-child {
  top: calc(50% - 8px);
}
.burger_btn span:last-child {
  top: calc(50% + 8px);
}
.burger_btn.active span:nth-child(2) {
  left: 70%;
  opacity: 0;
}
.burger_btn.active span:first-child {
  transform: rotate(45deg) translate(-50%, -50%);
  top: calc(50% + 6px);
  left: calc(50% - 4px);
}
.burger_btn.active span:last-child {
  transform: rotate(-45deg) translate(-50%, -50%);
  top: calc(50% - 8px);
  left: calc(50% - 2px);
}

@media only screen and (max-width: 900px) {
  .burger_btn {
    display: block;
  }

  header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  header.fixed {
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    background-color: rgba(0, 0, 0, 0.8);
  }
  header.fixed .logo_col img {
    width: 60px;
  }
  header.fixed .link_icon {
    height: 50px;
  }
  header.fixed .top_row {
    height: -moz-max-content;
    height: max-content;
  }
  header.open {
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #1C1A1B;
    overflow-y: scroll;
    padding-bottom: 80px;
  }
  header.open::-webkit-scrollbar {
    display: none;
  }
  header.open .container {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  header.open .menu_row {
    display: block;
    border-top: none;
  }
  header.open .menu_row .container {
    flex-direction: column;
    border-bottom: none;
  }
  header.open nav {
    margin-top: 40px;
  }
  header.open nav > ul > li {
    margin-bottom: 7px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  header.open nav ul {
    flex-direction: column;
  }
  header.open nav ul li {
    margin-right: 0;
    width: 100%;
  }
  header.open nav ul li .child_menu {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    padding-top: 10px;
    margin-top: 10px;
  }
  header.open nav ul li .child_menu .child_menu {
    padding-left: 20px;
  }
  header.open nav ul li .child_menu .child_menu li {
    padding-top: 10px;
  }
  header.open nav ul li .child_menu li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  header.open nav ul li .child_menu li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  header.open nav ul li .child_menu a {
    padding: 5px 0 5px 20px;
    font-size: 16px;
  }
  header.open nav ul li.current > a {
    color: #E2555B;
    text-decoration: none;
  }
  header.open nav ul a {
    font-size: 18px;
    padding: 7px 0;
  }
  header.open .lang_block {
    margin-top: 40px;
    display: flex;
    gap: 15px;
  }
  header.open .lang_block p, header.open .lang_block a {
    font-size: 18px;
  }
  header.open .lang_block .current_lang {
    padding: 0;
  }
  header.open .lang_block .current_lang svg {
    display: none;
  }
  header.open .lang_block ul {
    display: flex;
    gap: 15px;
  }
  header.open .child_menu {
    opacity: 1;
    z-index: 2;
    visibility: visible;
    position: relative;
    top: 0;
    width: 100%;
    left: 0 !important;
  }
  header.open .child_menu a {
    padding: 0;
  }
  header .messenger_block p,
header .tel_block,
header .menu_row {
    display: none;
  }
  header .link_icon {
    padding: 0 15px;
    height: 60px;
  }
  header .link_icon.last_link_icon {
    padding-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }
  header .right, header .messengers,
header .top_row {
    flex-flow: nowrap;
  }
  header .logo_col img {
    width: 70px;
  }
  header .logo_col p {
    display: none;
  }
  header .w20 svg {
    width: 22px;
    height: 22px;
  }
}
.messengers li {
  margin-right: 0.5vw;
}
.messengers li:last-child {
  margin-right: 0;
}
.messengers a {
  width: 2vw;
  height: 2vw;
  border-radius: 50%;
  justify-content: center;
}
.messengers a:hover svg {
  transform: scale(1.2);
}
.messengers a svg {
  width: 60%;
  height: 60%;
}
.messengers a.tg {
  background-color: #34AADF;
}
.messengers a.viber {
  background-color: #6F3FAA;
}
.messengers a.wa {
  background-color: #27D045;
}

@media only screen and (max-width: 900px) {
  .messengers a {
    width: 25px;
    height: 25px;
  }
  .messengers li {
    margin-right: 10px;
  }
}
.hero_section {
  height: 45.139vw;
  overflow: hidden;
}

.hero_slider .hero_slide_inner {
  height: 45.139vw;
  padding-top: 12.5vw;
}
.hero_slider .hero_slide_inner:before {
  background-color: rgba(0, 0, 0, 0.2);
}
.hero_slider .hero_slide_inner:after {
  width: 75%;
  opacity: 0.85;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 76%, rgba(0, 0, 0, 0) 100%);
}
.hero_slider .hero_slide_inner .desc_content {
  width: 38.194vw;
  z-index: 2;
}
.hero_slider .hero_slide_inner .desc_content p {
  color: #fff;
}
.hero_slider .hero_slide_inner .desc_content .secondary {
  max-width: 90%;
}
.hero_slider .hero_slide_inner .desc_content .btn {
  margin-right: 1.736vw;
}
.hero_slider .hero_slide_inner .desc_content .btn.more:hover {
  border: 1px solid #fff;
}

.advantages_section {
  border-bottom: 1px solid #F1F5F6;
}
.advantages_section .container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.advantages_section .item {
  flex-wrap: nowrap;
  height: 8.333vw;
  cursor: pointer;
  border-right: 1px solid #F1F5F6;
  padding: 0 2.4vw;
  justify-content: flex-start;
  transition: 0.3s all ease;
}
.advantages_section .item img {
  width: 2.5vw;
}
.advantages_section .item:hover {
  background-color: #E2555B;
}
.advantages_section .item:hover p {
  color: #fff;
}
.advantages_section .item:first-child {
  padding-left: 0;
}
.advantages_section .item:last-child {
  padding-right: 0;
}
.advantages_section .item p {
  width: 80%;
  margin-left: 1.389vw;
  transition: 0.3s all ease;
}

.welcome_seo_content {
  background-color: #F1F5F6;
  padding: 3vw 0 4.167vw;
}
.welcome_seo_content .content_seo {
  max-height: 16vw;
  overflow: hidden;
  transition: 0.3s all ease;
}
.welcome_seo_content .open .content_seo {
  max-height: -moz-max-content;
  max-height: max-content;
}
.welcome_seo_content .open .arr_link img {
  transform: rotate(135deg);
}

@media only screen and (max-width: 900px) {
  .hero_section,
.hero_slider .hero_slide_inner {
    height: -moz-max-content;
    height: max-content;
  }

  .hero_slider .slick-slide {
    height: 0;
  }
  .hero_slider .slick-slide.slick-current {
    height: -moz-max-content;
    height: max-content;
  }

  .hero_slider .hero_slide_inner {
    padding: 125px 20px 75px;
  }
  .hero_slider .hero_slide_inner:after {
    width: 100%;
  }
  .hero_slider .hero_slide_inner .desc_content {
    width: 100%;
  }
  .hero_slider .hero_slide_inner .btns_row {
    gap: 15px;
  }
  .hero_slider .hero_slide_inner .btn {
    width: 100%;
    justify-content: center;
  }
  .hero_slider .hero_slide_inner br {
    display: none;
  }

  .advantages_section {
    overflow-x: scroll;
  }
  .advantages_section::-webkit-scrollbar {
    display: none;
  }
  .advantages_section .container {
    display: flex;
    width: -moz-max-content;
    width: max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
  .advantages_section .item {
    height: 75px;
    width: 300px;
  }
  .advantages_section .item p {
    margin-left: 15px;
  }
  .advantages_section .item img {
    width: 30px;
  }

  .welcome_seo_content {
    padding: 60px 0;
  }
  .welcome_seo_content .content_seo {
    max-height: 200px;
  }
}
.page_top_section:after {
  display: none;
}
.page_top_section:before {
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.page_top_section .breadcrumbs {
  padding-top: 10vw;
}
.page_top_section .section_heading {
  margin-bottom: 0;
  padding-bottom: 30px;
}

.no_bg_top {
  margin-top: 10vw;
}
.no_bg_top .breadcrumbs li:before {
  color: #000;
}
.no_bg_top .breadcrumbs a:hover {
  -webkit-text-decoration-color: #000;
          text-decoration-color: #000;
}
.no_bg_top .breadcrumbs a:hover span {
  color: #000;
}
.no_bg_top .breadcrumbs span {
  color: rgba(0, 0, 0, 0.7);
}

.service_page_hero .hero_slide_inner {
  padding-top: 10vw;
}

.services_section {
  background-color: #F1F5F6;
}
.services_section .services_block {
  display: flex;
}
.services_section .service_item {
  height: 22.569vw;
  width: 50%;
  padding: 2vw 2.1vw 2vw calc(4vw + 35px);
}
.services_section .service_item.w25 {
  width: 25%;
  padding: 2vw 2.1vw;
}
.services_section .service_item.pl2 {
  padding: 2vw 2.1vw;
}
.services_section .service_item .name {
  max-width: 85%;
}
.services_section .service_item .top {
  width: 100%;
}
.services_section .service_item .relative {
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
}
.services_section .service_item .relative .serv_title {
  letter-spacing: 0.3vw;
}
.services_section .service_item .relative .serv_title:before {
  height: 1px;
  background-color: #fff;
  width: 3vw;
  top: 50%;
  left: 120%;
  transform: translateY(-50%);
}
.services_section .service_item:after {
  display: none;
}
.services_section .service_item:before {
  background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0.6) 10%, rgba(0, 0, 0, 0) 100%);
}
.services_section .service_item:hover {
  text-decoration: none;
}
.services_section .service_item:hover:before {
  background: linear-gradient(0deg, #e2555b 0%, rgba(226, 85, 91, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
}

.review_slider .slick-dots {
  bottom: -2.5vw;
}
.review_slider .slider-arr {
  top: 0;
  transform: translateY(-200%);
}
.review_slider .slider-arr.prev {
  left: calc(100% - 5.9vw);
}
.review_slider .slick-list {
  margin: 0 -0.5vw;
}
.review_slider .slick-list .slick-slide {
  margin: 0 0.5vw;
}

.review_item {
  background-color: #F1F5F6;
  cursor: pointer;
}
.review_item .rating {
  background-color: #E2555B;
  color: #F1F5F6;
  width: 3.472vw;
  height: 3.472vw;
  justify-content: center;
  position: absolute;
  top: 1.389vw;
  right: 1.389vw;
}
.review_item .rate svg {
  width: 6.5vw;
  height: 1.1vw;
}
.review_item .rate p {
  color: #A7A4A4;
  margin-left: 0.75vw;
}
.review_item .inner {
  padding: 2.083vw;
  position: relative;
}

.process_section {
  padding: 4.167vw 0;
}
.process_section:after {
  display: none;
}
.process_section:before {
  background-color: rgba(0, 0, 0, 0.5);
}
.process_section .form_block {
  width: 38%;
}
.process_section .process_desc_content {
  width: 45%;
}
.process_section .process_desc_content li {
  display: none;
}
.process_section .process_desc_content li.show {
  display: block;
}
.process_section .process_nav {
  margin-top: -1vw;
}
.process_section .process_nav li {
  margin-top: 1vw;
  margin-right: 4.167vw;
}
.process_section .process_nav li:last-child {
  margin-right: 0;
}
.process_section .process_nav li.active p {
  text-decoration: underline;
  color: white;
}
.process_section .process_nav li.active p svg {
  transform: rotate(180deg);
}
.process_section .process_nav li.active p svg path {
  fill-opacity: 1;
}
.process_section .process_nav p {
  cursor: pointer;
  color: rgba(255, 255, 255, 0.8);
}
.process_section .process_nav p svg {
  margin-left: 0.75vw;
}
.process_section .process_nav p:hover {
  text-decoration: underline;
}
.process_section p {
  color: #fff;
}

@media only screen and (max-width: 900px) {
  .page_top_section .breadcrumbs {
    padding-top: 80px;
  }

  .service_page_hero .desc_content {
    margin-top: 50px;
  }
  .service_page_hero .hero_slide_inner {
    padding-top: 80px;
    padding-left: 0;
    padding-right: 0;
  }
  .service_page_hero .secondary {
    font-size: 14px;
  }

  .hero_slider .hero_slide_inner .desc_content input.phone {
    width: 100%;
    margin-right: 0;
  }
  .hero_slider .hero_slide_inner .desc_content .btn {
    margin-right: 0;
    font-size: 16px;
    margin-top: 15px;
  }

  .services_section .service_item {
    width: 100% !important;
    height: 175px;
    padding: 18px !important;
  }

  .review_item .inner {
    padding: 20px;
  }
  .review_item .rating {
    width: 35px;
    height: 30px;
    top: 20px;
    right: 20px;
  }
  .review_item .rate svg {
    width: 60px;
    height: 15px;
  }
  .review_item .rate p {
    margin-left: 10px;
    font-size: 12px;
  }

  .review_slider .slider-arr {
    top: 15px;
  }
  .review_slider .slider-arr.prev {
    left: calc(100% - 61px);
  }
  .review_slider .slick-dots {
    bottom: -20px;
  }
  .review_slider .slick-slide {
    height: 0;
  }
  .review_slider .slick-slide.slick-current {
    height: -moz-max-content;
    height: max-content;
  }

  .process_section {
    padding: 50px 0;
  }
  .process_section .process_nav {
    gap: 10px;
  }
  .process_section .process_nav p svg {
    margin-left: 10px;
  }
  .process_section .process_desc_content,
.process_section .form_block {
    width: 100%;
  }
  .process_section .form_block {
    margin-top: 40px;
  }
  .process_section .form_block input.phone {
    width: 100%;
  }
  .process_section .form_block button {
    width: 100%;
    margin-top: 15px;
    justify-content: center;
  }
}
.product_page_hero {
  height: -moz-max-content;
  height: max-content;
  border-bottom: 1px solid #F1F5F6;
  padding-bottom: 5vw;
}
.product_page_hero .sm_images_slider {
  display: none;
}
.product_page_hero .sm_images_slider.slick-initialized {
  display: block;
}
.product_page_hero .sm_images_slider .slick-list {
  margin: 0 -0.5vw;
}
.product_page_hero .sm_images_slider .slick-slide {
  margin: 0 0.5vw;
}
.product_page_hero .sm_images_slider .inner p {
  cursor: pointer;
  height: 6.25vw;
}
.product_page_hero .big_images_slider {
  height: 22vw;
  overflow: hidden;
}
.product_page_hero .big_images_slider .inner a {
  height: 22vw;
}
.product_page_hero .slide_item .inner a, .product_page_hero .slide_item .inner p {
  justify-content: center;
}
.product_page_hero .slide_item .inner img {
  width: -moz-max-content;
  width: max-content;
  max-height: 100%;
}
.product_page_hero .product_images {
  width: 45vw;
  position: relative;
}
.product_page_hero .product_images .labels {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0;
}
.product_page_hero .product_images .labels .label {
  margin-right: 0.5vw;
}
.product_page_hero .hero_slider .hero_slide_inner {
  height: -moz-max-content;
  height: max-content;
}
.product_page_hero .breadcrumbs ol li a:hover {
  -webkit-text-decoration-color: #E2555B;
          text-decoration-color: #E2555B;
}
.product_page_hero .breadcrumbs ol li a:hover span {
  color: #E2555B;
}
.product_page_hero form input::-moz-placeholder {
  color: #231F20;
}
.product_page_hero form input:-ms-input-placeholder {
  color: #231F20;
}
.product_page_hero .breadcrumbs ol li:before,
.product_page_hero .breadcrumbs ol span,
.product_page_hero form .required label,
.product_page_hero form .required label a,
.product_page_hero form input,
.product_page_hero form input::placeholder,
.product_page_hero .desc_content p.secondary {
  color: #231F20;
}
.product_page_hero form input {
  border-bottom-color: #231F20;
}
.product_page_hero form button.btn:hover {
  background-color: #231F20;
}
.product_page_hero form button.btn:hover svg path {
  fill: #E2555B !important;
}

.service_page_content_seo .product_content_blocks .content_seo {
  display: none;
}
.service_page_content_seo .product_content_blocks .content_seo.show {
  display: block;
}
.service_page_content_seo .product_nav_block {
  border-bottom: 1px solid #F1F5F6;
}
.service_page_content_seo .product_nav_block li {
  margin-right: 3vw;
}
.service_page_content_seo .product_nav_block li.current p {
  border-bottom-color: #E2555B;
  color: #E2555B;
}
.service_page_content_seo .product_nav_block p {
  color: #A3A8A9;
  cursor: pointer;
  padding-bottom: 1vw;
  border-bottom: 3px solid transparent;
}

@media only screen and (max-width: 900px) {
  .product_page_hero {
    padding-bottom: 20px;
  }
  .product_page_hero .product_info {
    flex-direction: column-reverse;
  }
  .product_page_hero .big_images_slider {
    height: 250px;
  }
  .product_page_hero .big_images_slider .inner a {
    height: 250px;
  }
  .product_page_hero .sm_images_slider .inner p {
    height: 70px;
  }
  .product_page_hero .product_images {
    width: 100%;
    margin-bottom: 30px;
  }
  .product_page_hero.service_page_hero .desc_content {
    margin-top: 0;
  }
}
.catalog_items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-column-gap: 1.5vw;
  grid-row-gap: 2.5vw;
}

.catalog_section .catalog_btns li {
  margin-right: 1.736vw;
}
.catalog_section .catalog_btns li.active a {
  background-color: #E2555B;
  color: #fff;
}
.catalog_section .catalog_btns input {
  border: 1px solid #F1F5F6;
  transition: 0.3s all ease;
}
.catalog_section .catalog_btns input:focus {
  border: 1px solid #E2555B;
}
.catalog_section .catalog_btns .catalog_btn {
  height: 3.125vw;
  background-color: #F1F5F6;
  display: flex;
  padding: 0 1.5vw;
  align-items: center;
  justify-content: center;
  color: #A3A8A9;
  border-radius: 0.3vw;
}
.catalog_section .sort_row {
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 0.75vw;
}
.catalog_section .sort_row ul li {
  margin-right: 2vw;
}
.catalog_section .sort_row ul li.sort_item.active label {
  color: #E2555B;
  font-weight: 500;
}
.catalog_section .sort_row ul li:last-child {
  margin-right: 0;
}
.catalog_section .sort_row ul li label {
  cursor: pointer;
}
.catalog_section .sort_row ul li input {
  display: none;
}

.product_item .label {
  margin-right: 0.5vw;
}
.product_item .image {
  padding: 0.75vw 1vw;
  height: 18vw;
  border: 1px solid #E8E8E8;
  position: relative;
  justify-content: center;
  transition: 0.3s all ease;
}
.product_item .image:hover {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}
.product_item .image .labels {
  position: absolute;
  top: 0.75vw;
  left: 1vw;
}
.product_item .image img {
  width: -moz-max-content;
  width: max-content;
  max-height: 100%;
}
.product_item .rate_block p {
  color: #A7A4A4;
  margin-left: 0.75vw;
}

@media only screen and (max-width: 900px) {
  .catalog_items {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 20px;
  }

  .catalog_section .catalog_btns .catalog_btn {
    padding: 15px;
  }
  .catalog_section .catalog_btns li {
    margin-right: 10px;
  }

  .product_item .image {
    height: 130px;
  }
  .product_item .image .labels {
    left: 10px;
    top: 10px;
  }
  .product_item .rate_block p {
    margin-left: 10px;
  }
  .product_item .rate_block svg {
    width: 60px;
    height: 12px;
  }
}
.post_items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 1.389vw;
  grid-row-gap: 3vw;
}

.post_item .image {
  height: 19.097vw;
  border-radius: 1.042vw;
  align-items: flex-start;
  padding: 1vw 1.5vw;
  transition: 0.3s all ease;
}
.post_item .image:hover {
  text-decoration: none;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
.post_item svg {
  margin-left: 0.5vw;
  width: 0.7vw;
  height: 0.5vw;
}
.post_item .more:hover svg {
  margin-left: 0.75vw;
}

.post_page {
  padding-bottom: 2vw;
}
.post_page .date svg {
  width: 1.3vw;
  height: 1.3vw;
  margin-right: 0.65vw;
}

.back_to_blog {
  justify-content: center;
}
.back_to_blog a {
  color: #E2555B;
}
.back_to_blog a svg {
  margin-right: 0.6vw;
  width: 1vw;
  height: 1vw;
}

@media only screen and (max-width: 900px) {
  .post_items {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
  }

  .post_item .image {
    padding: 10px;
    height: 200px;
    border-radius: 10px;
  }
  .post_item .more {
    font-size: 12px;
  }
  .post_item svg {
    margin-left: 10px;
    width: 10px;
    height: 10px;
  }

  .post_page {
    padding-bottom: 20px;
  }
  .post_page .date svg {
    margin-right: 10px;
    width: 15px;
    height: 15px;
  }

  .back_to_blog a svg {
    width: 15px;
    height: 15px;
    margin-right: 10px;
  }
}
.faq_item {
  width: 55.208vw;
  border-bottom: 1px solid #F1F5F6;
  transition: 0.3s all ease;
}
.faq_item.open {
  padding-bottom: 1.25vw;
}
.faq_item.open svg {
  transform: rotate(135deg);
}
.faq_item.open svg path {
  fill: #E2555B;
}
.faq_item.open .content_seo {
  display: block;
}
.faq_item .content_seo {
  display: none;
}
.faq_item .title {
  cursor: pointer;
  padding: 1.25vw 0;
}
.faq_item .title svg {
  position: relative;
  width: 1vw;
  height: 1vw;
}

.faq_section .faq_items {
  padding: 0 1vw;
  max-height: 30vw;
  overflow: scroll;
}
.faq_section .section_heading {
  position: sticky;
  top: 4vw;
  margin-bottom: 0;
}

@media only screen and (max-width: 900px) {
  .faq_section .section_heading {
    position: relative;
    top: 0;
  }
  .faq_section .faq_items {
    width: 100%;
    max-height: -moz-max-content;
    max-height: max-content;
    padding: 0;
    overflow: visible;
  }

  .faq_item {
    width: 100%;
  }
  .faq_item .title {
    padding: 15px 0;
  }
  .faq_item .title svg {
    width: 13px;
    height: 13px;
  }
}
.project_items {
  align-items: flex-start;
}

.filter_item ul {
  margin-bottom: 2vw;
}
.filter_item ul li {
  margin-bottom: 0.25vw;
}
.filter_item label {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.filter_item label input {
  margin-right: 0.75vw;
  width: 1.2vw;
  height: 1.2vw;
  position: relative;
  cursor: pointer;
}
.filter_item label input:after, .filter_item label input:before {
  content: "";
  position: absolute;
  width: 120%;
  height: 120%;
  top: 50%;
  left: 50%;
  background-color: #F1F5F6;
  transform: translate(-50%, -50%);
  border-radius: 0.2vw;
  background-image: url("/img/not_active.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 60%;
  z-index: 1;
  transition: 0.3s all ease;
}
.filter_item label input:checked:after {
  background-color: #E2555B;
  background-image: url("/img/checked.png");
  z-index: 2;
}

.project_item {
  width: 48%;
  margin-bottom: 2.5vw;
  position: relative;
}
.project_item .labels {
  position: absolute;
  top: 1vw;
  left: 1.25vw;
  z-index: 2;
}
.project_item .labels .label {
  margin-right: 0.5vw;
}
.project_item .images_block {
  height: 22.569vw;
  overflow: hidden;
}
.project_item .images_block .slick-dots {
  left: 80%;
}
.project_item .images_block .slider-arr {
  width: 4vw;
  height: 4vw;
  top: calc(100% - 1.9vw);
}
.project_item .images_block .slider-arr.next {
  right: calc(100% - 8.1vw);
}
.project_item .images_block .slider-arr svg {
  width: 30%;
  height: 30%;
}
.project_item .images_block:hover {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}
.project_item .image {
  height: 22.569vw;
}
.project_item .rate_block p {
  margin-right: 0.6vw;
  color: #A7A4A4;
}
.project_item .more_btn {
  color: #E2555B;
}
.project_item .more_btn svg {
  margin-left: 0.5vw;
  width: 0.7vw;
  height: 0.7vw;
}

.project_page_content_seo .section_heading {
  width: 20vw;
  position: sticky;
  top: 5vw;
}
.project_page_content_seo .content_seo {
  width: 64.5vw;
}

.project_page_content .project_info .item {
  margin-right: 3vw;
}
.project_page_content .project_info svg {
  margin-left: 1vw;
  width: 8vw;
  height: 2vw;
}
.project_page_content .project_info img {
  height: 2vw;
  margin-right: 1vw;
}
.project_page_content .image_block {
  position: relative;
  height: 41.667vw;
  overflow: hidden;
}
.project_page_content .image_block .labels {
  position: absolute;
  z-index: 2;
  top: 1vw;
  left: 2vw;
}
.project_page_content .image_block .labels .label {
  margin-right: 0.75vw;
}
.project_page_content .slide_item .image {
  height: 41.667vw;
  display: block;
}

@media only screen and (max-width: 900px) {
  .project_item {
    width: 100%;
    margin-bottom: 25px;
  }
  .project_item:last-child {
    margin-bottom: 0;
  }
  .project_item .images_block,
.project_item .image {
    height: 225px;
  }
  .project_item .images_block ul.slick-dots {
    left: 90%;
  }
  .project_item .images_block .slider-arr {
    width: 30px;
    height: 30px;
    top: calc(100% - 15px);
  }
  .project_item .images_block .slider-arr.next {
    right: calc(100% - 61px);
  }
  .project_item .labels {
    left: 10px;
    top: 10px;
  }
  .project_item .labels .label {
    margin-right: 5px;
  }
  .project_item .rate_block p {
    font-size: 12px;
    margin-right: 10px;
  }
  .project_item .rate_block svg {
    width: 60px;
    height: 10px;
  }
  .project_item .more_btn {
    font-size: 12px;
  }
  .project_item .more_btn svg {
    width: 8px;
    height: 8px;
    margin-left: 5px;
  }

  .project_page_content .image_block,
.project_page_content .slide_item .image {
    height: 300px;
  }
  .project_page_content .image_block .labels {
    left: 15px;
    top: 15px;
  }
  .project_page_content .project_info {
    gap: 15px;
  }
  .project_page_content .project_info .item {
    margin-right: 0;
  }
  .project_page_content .project_info svg {
    margin-left: 10px;
    width: 60px;
    height: 10px;
  }
  .project_page_content .project_info img {
    margin-right: 10px;
    height: 15px;
  }

  .project_page_content_seo .section_heading {
    width: 100%;
    top: 0;
    position: relative;
  }
  .project_page_content_seo .content_seo {
    width: 100%;
  }

  .related_projects {
    margin-bottom: 40px;
  }
}
.contact_page .left {
  width: 30%;
}
.contact_page .left .contact_row img {
  width: 1.5vw;
  margin-right: 1.25vw;
}
.contact_page .left .contact_row .hours, .contact_page .left .contact_row a {
  font-size: 1.2vw;
  display: flex;
}
.contact_page .left .contact_row .messengers {
  margin-top: 0.75vw;
}
.contact_page .left .contact_row .messengers li {
  margin-right: 0.75vw;
}
.contact_page .left .contact_row .messengers a {
  width: 2.5vw;
  height: 2.5vw;
}
.contact_page .map {
  width: 65%;
  height: 35vw;
}
.contact_page .contact_form {
  width: 100%;
  margin-top: 4vw;
  background-color: #1C1A1B;
  padding: 4vw;
}
.contact_page .contact_form .input_row {
  width: 45%;
}
.contact_page .contact_form .input_row input {
  width: 100%;
}
.contact_page .contact_form .message_row {
  width: 100%;
}
.contact_page .contact_form textarea {
  width: 100%;
  height: 10vw;
  margin-top: 1vw;
}
.contact_page .contact_form button {
  width: 100%;
  font-size: 1.2vw;
}

@media only screen and (max-width: 900px) {
  .contact_page .contact_form {
    margin-top: 20px;
    padding: 40px 20px;
  }
  .contact_page .contact_form textarea {
    height: 100px;
  }
  .contact_page .contact_form form {
    margin-top: 10px;
  }
  .contact_page .contact_form .fz24 {
    font-size: 20px;
  }
  .contact_page .contact_form .input_row {
    width: 100%;
    margin-top: 20px;
  }
  .contact_page .contact_form button {
    font-size: 16px;
  }
  .contact_page .left {
    width: 100%;
  }
  .contact_page .left .contact_row .fz13 {
    margin-bottom: 5px;
  }
  .contact_page .left .contact_row .hours,
.contact_page .left .contact_row a {
    font-size: 16px;
  }
  .contact_page .left .contact_row img {
    margin-right: 10px;
    width: 15px;
  }
  .contact_page .left .contact_row .messengers {
    margin-top: 10px;
    justify-content: flex-start;
    gap: 10px;
  }
  .contact_page .left .contact_row .messengers a {
    width: 30px;
    height: 30px;
  }
  .contact_page .map {
    width: 100%;
    height: 300px;
    margin: 40px 0;
  }
}
.callback_section {
  padding: 4.861vw 0;
}
.callback_section .messengers li {
  margin-right: 2.083vw;
}
.callback_section .messengers a {
  min-width: 4.167vw;
  height: 4.167vw;
  border-radius: 0;
  flex-wrap: nowrap;
}
.callback_section .messengers a.tg {
  width: -moz-max-content;
  width: max-content;
  padding: 0 1.2vw;
  -webkit-text-decoration-color: #fff;
          text-decoration-color: #fff;
}
.callback_section .messengers a.tg svg {
  margin-right: 0.5vw;
}
.callback_section .messengers a svg {
  width: 40%;
  height: 40%;
}
.callback_section .messengers a span {
  display: inline-block;
  width: 8vw;
}
.callback_section .inner {
  max-width: 60%;
}
.callback_section .phone_block .right {
  margin-left: 3vw;
}
.callback_section p {
  color: #fff;
}
.callback_section p.red {
  color: #E2555B;
}
.callback_section:after {
  display: none;
}
.callback_section:before {
  width: 70%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 26%, rgba(0, 0, 0, 0) 100%);
}

@media only screen and (max-width: 900px) {
  .callback_section {
    padding: 30px 0;
  }
  .callback_section .right {
    width: 100%;
    margin: 15px 0 0 0 !important;
  }
  .callback_section .right a {
    display: block;
  }
  .callback_section .messengers a {
    height: 40px;
    min-width: 40px;
  }
  .callback_section .messengers a.tg svg {
    width: 20px;
    margin-right: 10px;
  }
  .callback_section .messengers a span {
    width: 90px;
  }
  .callback_section .messengers a span br {
    display: none;
  }
  .callback_section .messengers a svg {
    width: 50%;
    height: 50%;
  }
  .callback_section p.fz20, .callback_section p.fz18 {
    font-size: 14px;
  }
  .callback_section:before {
    width: 100%;
    background: rgba(0, 0, 0, 0.7);
  }
  .callback_section .inner {
    max-width: 100%;
  }
}
footer {
  background-color: #1C1A1B;
  padding: 2.778vw 0 1.5vw;
}
footer .messengers {
  justify-content: flex-start;
  margin-top: 0.75vw;
}
footer .messengers a {
  width: 2.5vw;
  height: 2.5vw;
}
footer .logo_col img {
  width: 7vw;
}
footer .menu_col {
  max-width: 17.361vw;
}
footer .menu_col li {
  margin-bottom: 0.5vw;
}
footer p, footer a {
  color: rgba(255, 255, 255, 0.8);
}
footer .phone, footer .title {
  color: #fff;
}
footer .rights_row {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  width: 100%;
}
footer .rights_row a {
  color: #E2555B;
  text-decoration: underline;
}

@media only screen and (max-width: 900px) {
  footer {
    padding: 40px 0 20px;
  }
  footer .logo_col {
    width: 48%;
  }
  footer .logo_col img {
    width: 100px;
  }
  footer .logo_col p.fz12 {
    max-width: -moz-max-content !important;
    max-width: max-content !important;
  }
  footer .messengers {
    margin-top: 10px;
  }
  footer .messengers li {
    margin-right: 10px;
  }
  footer .messengers a {
    width: 30px;
    height: 30px;
  }
  footer .menu_col li {
    margin-bottom: 7px;
  }
  footer .contacts_col .mt10 {
    margin-top: 10px;
  }
  footer .contacts_col,
footer .menu_col {
    width: 48%;
    max-width: 48%;
    margin-bottom: 30px;
  }
  footer .rights_row {
    flex-direction: column;
  }
  footer .rights_row .col {
    margin: 2px 0;
  }
  footer .fz12 {
    font-size: 12px;
  }
}
.modal_callback {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100vh;
}
.modal_callback.show {
  visibility: visible;
  opacity: 1;
  z-index: 9999999;
}
.modal_callback.show .inner {
  top: 50%;
}
.modal_callback .inner {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 29.167vw;
  padding: 3.472vw;
  transition: 0.3s all ease;
  background: linear-gradient(69deg, #1c1a1b 0%, rgba(28, 26, 27, 0.93) 100%);
}
.modal_callback .inner p {
  color: #fff;
}
.modal_callback .inner p.close_modal {
  position: absolute;
  top: 2vw;
  right: 2vw;
}
.modal_callback .inner p.close_modal img {
  width: 1.5vw;
  cursor: pointer;
  transition: 0.3s all ease;
}
.modal_callback .inner p.close_modal:hover img {
  transform: rotate(90deg);
}
.modal_callback .inner form input.phone {
  margin: 0 0 1.5vw;
  width: 100%;
}
.modal_callback .inner form button.btn {
  font-size: 1.1vw;
  height: 4.5vw;
  justify-content: center;
  width: 100%;
}

@media only screen and (max-width: 900px) {
  .modal_callback .fz24 {
    font-size: 22px;
    font-weight: 600;
  }
  .modal_callback .mt20 {
    margin-top: 15px;
  }
  .modal_callback .inner {
    width: 90%;
    padding: 30px 20px;
  }
  .modal_callback .inner p.close_modal {
    top: 20px;
    right: 20px;
  }
  .modal_callback .inner p.close_modal img {
    width: 15px;
  }
  .modal_callback .inner form button.btn {
    font-size: 16px;
    height: 45px;
    margin-top: 10px;
  }
}
