/* CSS Document */
body, p, h1, h2, h3, h4, div, ul, li, div {
  margin: 0;
  padding: 0;
  border: 0; }

body {
  background: #fff; }

a {
  outline: none !important;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

ul {
  list-style: none;
  margin: 0px !important;
  padding: 0px !important; }

.row {
  margin: 0px !important; }

.list-view {
  padding: 0px !important; }

.container-site {
  font-family: 'Roboto', sans-serif;
  font-size: 12px; }

.content-site {
  width: 1170px;
  margin: 0 auto;
  font-size: 2vh; }
  .content-site h1, .content-site h2, .content-site h3, .content-site h4 {
    font-size: 4vh;
    font-weight: 600;
    color: #444444;
    line-height: 1.2307;
    padding: 25px 0px;
    text-rendering: optimizelegibility; }
  .content-site h2 {
    font-size: 3.5vh; }
  .content-site h3, .content-site h4 {
    font-size: 2.5vh; }

.back-gray {
  background: #f0f0f0; }

.header {
  background: #f0f0f0;
  font-size: 2vh;
  font-weight: 400;
  color: #888888;
  padding: 25px 0; }
  .header i {
    font-size: 5vh;
    position: relative;
    top: 5px;
    padding-right: 15px; }
  .header .contact-block {
    margin: 10px 0px;
    font-size: 2vh; }
  .header .logo p {
    display: inline-block; }
    .header .logo p:last-child {
      width: 74%;
      padding-left: 15px;
      position: relative;
      top: 15px; }
  .header .logo img {
    height: 60px; }

.menu {
  font-size: 3vh;
  font-weight: 400;
  color: #777777;
  background: #fff; }
  .menu ul li {
    display: inline-block; }
    .menu ul li a {
      display: block;
      padding: 20px 30px;
      text-transform: uppercase;
      text-align: center;
      font-size: 3vh;
      font-weight: 500;
      color: #888888;
      -webkit-transition-duration: 0.3s;
      -moz-transition-duration: 0.3s;
      transition-duration: 0.3s;
      -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
      transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
      .menu ul li a:hover {
        -webkit-transition-duration: 0.3s;
        -moz-transition-duration: 0.3s;
        transition-duration: 0.3s;
        -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
        -moz-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
        transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
        color: #ffffff;
        background: #01bbd4; }
    .menu ul li ul {
      display: none; }
  .menu a {
    color: #777777; }

.slider {
  margin-top: -35px; }
  .slider .owl-carousel .owl-stage-outer {
    height: 500px; }
    .slider .owl-carousel .owl-stage-outer img {
      height: 500px;
      max-width: 100%; }
      .slider .owl-carousel .owl-stage-outer .txt_slider{
	    position: absolute;
        top: 25%;
        left: 15%;
        text-align: center;
        background-color: #31cde2ab;
        padding: 15px;
        border: 1px solid transparent;
        border-radius: 4px;
        border-color: #24b3de;
        width: 70%;
		}
		.slider .owl-carousel .owl-stage-outer .txt_slider .name_slide{
		  font-size: 5vh;
          font-weight: 500;
          color: #ffffff;
		}

.pluses {
  padding: 80px 0px;
  background: url(../images/pluses.png) center center no-repeat #01bbd4; }
  .pluses ul li {
    margin: 15px 0px; }
  .pluses img, .pluses label {
    display: inline-block;
    float: left;
    font-size: 2vh;
    font-weight: 500;
    color: #fff; }
  .pluses img {
    width: 20%; }
  .pluses label {
    width: 75%;
    padding-left: 5%; }

.steps {
  background: #f0f0f0;
  padding: 50px 0px; }
  .steps h1 {
    font-size: 4vh;
    font-weight: 600;
    color: #444444;
    line-height: 1.2307;
    padding: 15px;
    text-rendering: optimizelegibility; }
  .steps h3 {
    text-align: center;
    padding-bottom: 50px;
    font-size: 8vh;
    font-weight: 200;
    color: #444444; }
  .steps h4 {
    font-size: 3vh;
    font-weight: 600;
    color: #444444;
    padding: 10px 5px; }
  .steps .step img {
    width: 100%;
    display: block;
    margin: 0 auto; }
  .steps .step div {
    padding: 5px;
    min-height: 200px;
    overflow: hidden;
    font-size: 2vh;
    font-weight: 400;
    color: #777777; }

.vypolnennye-proekty .step div {
  min-height: 100px; }

.block-news-back h4 {
  text-align: center; }

.page-text {
  margin: 30px 0px; }
  .page-text p {
    padding: 5px 0px !important; }
  .page-text ul li {
    list-style: disc !important;
    padding-left: 10px !important;
    margin-left: 25px !important; }

.map {
  border-top: solid 3px #5e5e5e; }

.callback-button {
  margin-top: 15px; }

.footer {
  background: #5e5e5e;
  padding: 30px 0px;
  color: #fff; }

#modal-body-content-text {
  padding: 30px; }

@media (min-width: 769px) and (max-width: 1200px) {
  .content-site {
    width: 100%; }

  .slider {
    margin-top: -35px; }
    .slider .owl-carousel .owl-stage-outer {
      height: auto; }
      .slider .owl-carousel .owl-stage-outer img {
        height: auto;
        max-width: 100%; } }

.news-table {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  grid-template-rows: auto;
  @media (max-width: 768px) {
    grid-template-columns: 1fr;
  }
}