@font-face {
    font-family: "RbtR";
    src: url("../fonts/RobotoRegular.woff");
    src: url("../fonts/RobotoRegular.ttf");
}

@font-face {
    font-family: "RbtM";
    src: url("../fonts/RobotoMedium.ttf");
    src: url("../fonts/RobotoMedium.woff");
}

@font-face {
    font-family: "RbtB";
    src: url("../fonts/RobotoBold.ttf");
}



ol, ul ,p{
    list-style: none;
    margin:0;
    padding: 0;
}

h1,h2,h3,h4,h5,h6,li,hr,sup{
  margin:0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

body{
    font-family: RbtR,Helvetica,sans-serif;
    background: #f4f4f4;
    font-size: 14px;
    color:#000;
}

h1, h2, h3, h4{
    font-family: RbtB;
    letter-spacing: normal;
}



h1 {
  font-size: 60px;
  font-family: RbtB;
  line-height: 1.2;
  margin-bottom: 45px;
}


h2 {
     font-size: 42px;
     line-height: 1.14;
}

h3{
  font-size: 24px;
  line-height: 2;

}

.container{
	max-width: 1140px;
	width: 100%;
}
.container-l{
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1600px;
	width: 100%;
}

a:hover{
	text-decoration: none;
  color: rgb(183, 28, 28);
}

:focus {
    outline: none;
}

img{
    display: block;
    max-width: 100%;
    height: auto;
}

/********************/



/*menu*/
.navbar {
    padding: 0;
    width: 100%;
}

.nav-link {
    display: block;
    padding: 0;
    font-family: RbtR;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: normal;
    color: #000;
}


.navbar-nav li{
    position: relative;
}


.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link:hover{
    color: rgb(183, 28, 28);
}

.navbar-light .navbar-nav .nav-link {
    color: #000;
}

.navbar-expand-lg .navbar-nav li:not(:last-child) .nav-link {
    padding-right:25px;
    padding-left:0;
}

.navbar-expand-lg .navbar-nav {
    width: 100%;
    justify-content: center;
    padding-left: 15px;
}

/*********/

header{
	padding: 25px 0;
}

.box_logo{
    display: flex;
    align-items: center;
}


.txt_logo {
  font-size: 15px;
  font-family: "RbtR";
  color: #8f8f8f;
  line-height: 1.2;
  margin-left: 20px;
  width: 60%;
}



.box_phone{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 124px;
}

.btn_header{
	max-width: 200px;
	line-height: 50px;
}

.btn {
    display: block;
    border: none;
    padding: 0;
    font-size: 13px;
    font-family: RbtB;
    color: rgb(0, 0, 0);
    text-transform: uppercase;
    text-align: center;
    border-radius: 2px;
    background-color: rgb(252, 184, 1);
    box-shadow: 0px 10px 16px 0px rgba(252, 184, 1, 0.4);
    width: 100%;
    transition: .2s ease-out;
    transition: background-color 1000ms;
}

.btn:hover {
  background-color: rgb(255, 209, 85);
  color:#000;
  box-shadow: 0px 10px 16px 0px rgba(252, 184, 1, 0.8);
}

 



.tel_link{
    margin-right: 50px; 
	font-size: 18px;
	font-family: RbtB;
	color: #000;
	line-height: 1.2;
}


/*section_header*/

.img_header img{
	width: 100%;
	height: 649px;
	object-fit: cover;
}

.img_header{
	position: relative;
}

.img_header:before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: radial-gradient(circle, rgba(255,255,255,0.7) 20%, transparent 60%);
	z-index: 0;
}

.block_caption{
	width: 100%;
	position: relative;
}

.block_caption:before{
	content: " ";
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 44.1%;
	height: 100%;
	z-index: 2;
	background-color:#f4f4f4;
}

.block_caption:after{
	content: " ";
	display: block;
	position: absolute;
	top:0;
	right:0;
	width: 34.5%;
	height: 100%;
	background: linear-gradient(-45deg, rgba(255,255,255,0) 25%, rgba(255,255,255,0.35) 0, rgba(255,255,255,0.35) 50%, rgba(255,255,255,0) 0, rgba(255,255,255,0) 75%, rgba(255,255,255,0.35) 0);
	background-size: 100px 100px;
}

.box_cpt{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	z-index: 4;
}
.b_caption{
	max-width: 1140px;
	width: 100%;
	margin:0 auto;
	padding-bottom: 50px;
}

.txt_cpt p{
  font-size: 18px;
  line-height: 1.2;
  width: 40%;
  margin-bottom: 23px;
}

.b_caption .btn{
  max-width: 350px;
  line-height: 70px;
  margin-top: 25px;
  margin-bottom: 32px;
}

.more_work{
	max-width: 350px;
	font-size: 14px;
	color: #000;
	text-transform: uppercase;
	line-height: 1.2;
	text-align: center;
	display: block;
	max-width: 350px;
	width: 100%;
	position: relative;
}
.more_work:before{
	content: " ";
	display: block;
	position: absolute;
	left: 0;
    top: 25px;
    right: 0;
    bottom: 0;
	margin:0 auto;
	max-width: 182px;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #fcb801 1px, transparent 1px);
	background-size: 5px 3px;
	background-repeat: repeat-x;
	background-position: left bottom;
}

.more_work:after {
	content: " ";
	display: block;
	background-color: rgb(252, 184, 1);
  	position: absolute;
  	top:55px;
  	left:0;
  	right: 0;
  	bottom:-40px;
  	width: 1px;
  	height: 192px;
  	margin:0 auto;
}

 .more_work:hover:before {
  background-image: linear-gradient(to right, rgb(183, 28, 28) 1px, transparent 1px);
  }

/*section_about*/
.section_about{
  margin-top: 130px;
}

.section_about h2{
  margin-bottom: 30px;
}


.txt_about p{
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 28px;
}

.img_about img{
  width: 555px;
  height: 100%;
  object-fit: cover;
}


/*section_price*/

.section_price{
  min-height: 697px;
  position: relative;
  z-index: 2;
  margin-bottom: 83px;
  margin-top: 80px;
}

.section_price:after{
  content: " ";
  display: block;
  position: absolute;
  top:45px;
  right: 0;
  width: 34%;
  height: 652px;
  background: linear-gradient(-45deg, rgba(255,255,255,0) 25%, rgba(255,255,255,0.35) 0, rgba(255,255,255,0.35) 50%, rgba(255,255,255,0) 0, rgba(255,255,255,0) 75%, rgba(255,255,255,0.35) 0);
  background-size: 100px 100px;
  z-index: -1;

}

.section_price h2{
  margin-bottom: 60px;
}

.block_price_remont{
  width: 100%;
  background-color:#fff;
  min-height: 508px;
  padding-top: 69px;
  padding-bottom: 30px;
}

.block_price_remont h3{
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 30px;
}


.input_price{
  max-width: 264px;
  height: 55px;
  padding: 15px;
  font-size: 16px;
  text-align: center;
  border: 1px solid  rgb(244, 244, 244);
  background-color: rgb(255, 255, 255);
  margin-bottom: 35px;
}

.input_range, .input_price{
  width: 100%;
}

.btn_price{
  max-width: 200px;
  line-height: 50px;
  margin:0 auto;
}


/*section_work*/

.section_work h2{
  margin-bottom: 70px;
}

.box_w{
  position: relative;
  margin-bottom: 35px;
  max-width: 360px; 
  width: 100%;
  flex-basis: 32%;
  cursor: pointer;
}

.img_w img{
  width: 100%;
  height: 400px;
  object-fit: cover;
}

.txt_w a {
  font-size: 24px;
  color:#000;
  line-height: 1.2;
}

.txt_w a:hover{
  color:rgb(183,28,28);
}

.txt_w{
  position: absolute;
  bottom: 50px;
  left:0;
  background-color: rgb(255, 255, 255);
  max-width: 263px;
  width: 100%;
  min-height: 50px;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center; 
}

/*section_client*/
.section_client{
  padding-bottom: 30px;
}

.section_client h2{
  margin-bottom: 57px;
  margin-top: 33px;
}

.box_client{
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}


/*section_command*/
.section_command{
  padding-top: 70px;
  min-height: 820px;
  background: linear-gradient(180deg, #fff 10%, #fff 45%, #f4f4f4 10%, #f4f4f4 45% );
  position: relative;
}

.section_command:after{
  content: " ";
  display: block;
  position: absolute;
  bottom: -38px;
  left: 0;
  max-width: 160px;
  width: 100%;
  height: 505px;
  background: linear-gradient(-45deg, rgba(255,255,255,0) 25%, rgba(255,255,255,1) 0, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 0, rgba(255,255,255,0) 75%, rgba(255,255,255,1) 0);
  background-size: 100px 100px;
  z-index: 1;

}



.section_command h2{
  margin-bottom: 60px;
}

.box_command{
  border-radius: 2px;
  background-color: rgb(255, 255, 255);
  flex-basis: 31%;
}


.img_command img{
  max-width: 360px;
  height: 300px;
  object-fit: cover;
}

.txt_command{
  padding: 20px 25px;  
}

.txt_command h3 {
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 15px;
}

.txt_command p {
  font-size: 14px;
  color: rgb(97, 97, 97);
  line-height: 1.714;
}


.box_btn_command{
  width: 100%;
  margin-top: 50px;
  margin-bottom: 45px;
}

.box_btn_command .btn {
  max-width: 300px;
  line-height: 60px;
  margin:0 auto;
}

/*section_question_answer*/

.section_question_answer{
  padding-bottom: 84px;
}
.section_question_answer h2{
  margin-bottom: 60px;
}

.card-header .btn-link {
  font-size: 20px;
  color: rgb(0, 0, 0);
  line-height: 1.2;
  border:none;
  font-family: RbtR;
  cursor: pointer;
  width: 100%;
  height: 100%;
  text-align: left;
}

.btn-link:hover{
  text-decoration: none;  
}

.card-header:hover .btn-link{
  color: rgb(183, 28, 28);  
}
.card-header:hover:after, .card-header:hover:before {
  background-color:rgb(183, 28, 28);
}



.btn-link.focus, .btn-link:focus {
    text-decoration: none;
    border-color: transparent;
    outline: none;
}

.card-body{
  font-size: 16px;
  color: rgb(97, 97, 97);
  line-height: 1.5;
  padding: 35px 15px 25px 30px;
  background: #f4f4f4;
}

.card {
    background-color: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 15px;
}
.card-header {
    position: relative;
    padding: 20px 30px;
    margin-bottom: 0;
    border-bottom: none;
    background-color: rgb(255, 255, 255);
    cursor: pointer;
 }
 .card-header:after, .card-header:before{
  content: " ";
  display: block;
  width: 2px;
  height: 12px;
  background-color:#000;
  top:30px;
  right:35px;
  position: absolute;
 }
 .card-header:before{
  transform: rotate(90deg);
 }
.card-header:first-child {
    border-radius: 0;
}


/*section_doc*/
.section_doc{
  min-height: 650px;
  background: linear-gradient(180deg, #fff 20%, #fff 60%, #f4f4f4 20%, #f4f4f4 60% );
  padding-top: 65px;
} 

.section_doc h2{
  margin-bottom: 59px;
}

.box_doc{
  flex-basis: 28.29%;
  height: 400px;
  overflow: hidden;
}

.box_doc a{
  display: block;
}

.box_doc img{
  height: 400px;
  object-fit: cover;
  width: 100%;
}

footer{
  height: 685px;
  overflow: hidden;
  position: relative;
}
footer h2{
  color:#fff;
  margin-bottom: 150px;
}
.map_box img{
  height: 688px;
  object-fit: cover;
  width: 100%;
  object-position: bottom;
}

footer:after {
  content: " ";
  display: block;
  background-color: rgba(0, 0, 0,0.35);
  position: absolute;
  left: 0px;
  top: 0;
  width: 100%;
  height: 100%;
}

.block{
  width: 100%;
}

.contact_box{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 100%;
  z-index: 3;
  height: 370px;
}

.ul_footer_nav{
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.ul_footer_nav li{
  flex-basis: 22%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-left: 60px;

}

.ul_footer_nav li>span{
  font-size: 14px;
  color:#fff;
}
.ul_footer_nav li:first-child p:before{
  content: url(../img/geo.png);
  display: block;
  position: absolute;
  top: -13px;
  left: -60px;
  }
.ul_footer_nav li:nth-child(2) a:before{
  content: url(../img/phone.png);
  display: block;
  position: absolute;
  top: -15px;
  left: -60px;
  }
.ul_footer_nav li:last-child a:before{
  content: url(../img/mail.png);
  display: block;
  position: absolute;
  top: -15px;
  left: -60px;
  }
.ul_footer_nav li  a, .ul_footer_nav li p {
  font-size: 20px;
  font-family: RbtB;
  color: #fff;
  line-height: 1.2;
  position: relative;
 }

.btn_footer{
  font-size: 14px;
}

/*modal*/

@media (min-width: 576px){
  .modal-dialog {
      max-width: 555px;
  }
}

.modal-body {
    padding: 1rem;
}
.modal-content {
    border: none;
    border-radius: 0;
}
.modal-header {
    padding: 35px 15px 10px;
    border-bottom: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.modal-header h5{
  font-size: 36px;
  font-family: RbtB;
  line-height: 1.2;
  text-align: center;
  /*margin: 0 auto;*/
  width: 100%;
}
.modal-header .close {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 15px;
    right: 20px;
}

.form-control {
    display: block;
    width: 100%;
    max-width: 296px;
    height: 53px;
    padding: 5px;
    font-size: 16px;
    line-height: 1.5;
    color: #000;
    border: 1px solid rgb(244, 244, 244);
    border-radius: 0;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    margin: 0 auto;
}
.modal-footer {
    padding: 1rem;
    border-top: none;
}

.modal-footer .btn{
  max-width: 296px;
  line-height: 60px;
  margin: 0 auto;
}

/*media*/

@media only screen and (max-width: 1665px){
  header {
      padding: 25px 15px;
  }
  .section_price {
      padding: 0 15px;
  }
    .tel_link {
        margin-right: 0;
  }
  .box_phone {
      padding-left: 0px;
      justify-content: flex-end;
  }
  .btn_header {
      margin-left: 20px;
  }
  .section_command{
    z-index: 2;
  }
  .section_command:after {
      z-index: -1;
  }
  .section_question_answer {
      z-index: 10;
      position: relative;
  }

}

@media only screen and (max-width: 1463px){
  .navbar-expand-lg .navbar-nav{
    padding-left: 0;
    justify-content: space-between;
  }
  .navbar-expand-lg .navbar-nav li:not(:last-child) .nav-link {
      padding-right: 0;
  }
}

@media only screen and (max-width: 1200px){
  .b_caption, .section_work {
      padding-left: 15px;
      padding-right: 15px;
  }
  .img_w img {
      height: auto;
  }
  .box_w {
      margin-bottom: 20px;
      max-width: 360px;
      flex-basis: 32%;
  }
  .txt_w {
      max-width: 65%;
   }
   .img_command img {
       max-width: 100%;
       height: 250px;
   }
   .txt_command {
       padding: 15px 20px;
   }
   .box_command {
       margin: 0 10px;
   }
   .section_command:after {
       max-width: 12%;
       bottom: 0;
       height: 385px;
    }
    .box_doc {
        height: auto;
        padding: 0 15px;
    }
    .box_doc img {
        height: auto;
        width: 100%;
    }
    .box_phone {
        align-items: flex-end;
        flex-direction: column;
        margin-left: 0;
    }
    .btn_header {
        max-width: 180px;
        line-height: 35px;
        margin-top: 5px;
    }
    .block {
        padding: 0 15px;
    }
    .ul_footer_nav li {
        flex-basis: 32%;
        margin-left: 50px;
    }
}

@media only screen and (max-width: 1024px){
  .section_command:after{
    display: none;
  }
  .img_header img {
      height: 500px;
  }
  h1 {
      font-size: 52px;
      line-height: 1;
      margin-bottom: 35px;
  }
  .txt_cpt p {
      font-size: 16px;
      line-height: 1.1;
      width: 65%;
      margin-bottom: 20px;
  }
  .b_caption .btn {
      max-width: 320px;
      line-height: 55px;
      margin-top: 25px;
      margin-bottom: 30px;
  }
  .section_price {
      min-height: 500px;
      margin-bottom: 50px;
      margin-top: 50px;
  }
  .section_work h2 {
      margin-bottom: 50px;
  }
  footer {
      height: 500px;
  }
  .contact_box {
      height: auto;
      top:90px;
  }
  footer h2 {
      margin-bottom: 80px;
  }
  .box_btn_command .btn {
      max-width: 280px;
      line-height: 55px;
  }
}

@media only screen and (max-width: 991px){
  .navbar-toggler {
      margin: 0 auto;
      border-radius: 0;
  }
  header {
      padding: 15px;
      position: relative;
  }
  .navbar, header .row>[class*=col-]:nth-child(2){
      position: static;
    }
    .navbar-collapse {
        position: absolute;
        background: #f4f4f4;
        top: 80px;
        right: 0;
        text-align: right;
        z-index: 10;
        width: 100%;
        box-shadow: 0 4px 3px rgba(0,0,0,0.35);
    }
    .navbar-expand-lg .navbar-nav {
        padding: 15px 0;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 15px;
    }

    .navbar-expand-lg .navbar-nav li:not(:last-child) .nav-link {
        padding-right: 15px;
    }
    .navbar-nav li {
      margin-bottom: 10px;
    }
}


@media (max-width: 900px){
  .box_w {
      max-width: 100%;
      flex-basis: 47%;
  }
  .img_command img {
      height: auto;
  }
  .box_command {
      flex-basis: 47%;
      margin-bottom: 25px;
  }
  .ul_footer_nav {
      flex-wrap: wrap;
  }
  .ul_footer_nav li {
      flex-basis: 40%;
      margin-bottom: 25px;
  }
}

@media (max-width: 768px){
.section_doc {
    min-height: auto;
    padding-bottom: 60px;
    padding-top: 60px;
}
h1 {
    font-size: 47px;
    margin-bottom: 30px;
}
.txt_cpt p {
    font-size: 15px;
    width: 75%;
    margin-bottom: 17px;
}
.more_work:after, .block_caption:before{
    display: none;
  }
  .img_header:before {
      background: radial-gradient(circle, rgba(255,255,255,0.7) 85%, transparent 100%);
}
.section_about {
    margin-top: 55px;
}
.contact_box {
    top: 40px;
}
}


@media (max-width: 767px){
  .img_about img {
      width: 100%;
      height: auto;
      margin-bottom: 20px;
  }
  .txt_about p {
      font-size: 15px;
      line-height: 1.4;
      margin-bottom: 20px;
  }
  .txt_logo{
    display: none;
  }
}

@media (max-width: 666px){
  .box_command {
      flex-basis: 100%;
      margin-bottom: 25px;
  }
  .box_doc {
      flex-basis: 50%;
      height: auto;
      margin-bottom: 25px;
  }
  .section_doc{
    background: #fff;
  }
}

@media (max-width: 575px){
  .navbar-collapse {
      top: 65px;
  }
  .box_phone {
      display: none;
  }
  .navbar-toggler {
      margin: 0 0 0 auto;
  }
  h1 {
      font-size: 43px;
      margin-bottom: 26px;
  }

  h1 br{
    display: none;
  }
  .b_caption .btn {
      max-width: 280px;
      line-height: 50px;
      margin-top: 20px;
      margin-bottom: 25px;
  }
  .more_work{
    max-width: 280px;
  }
  .box_w {
      flex-basis: 100%;
  }
  .card-header .btn-link {
      font-size: 18px;
      line-height: 1.1;
  }
  .card-header {
      padding: 15px 20px;
  }
  .card-body {
      padding: 25px 10px 15px 25px;
  }
  .section_question_answer {
      padding-bottom: 60px;
  }
  .ul_footer_nav li {
      flex-basis: 100%;
      margin-bottom: 25px;
  }
  footer h2 {
      margin-bottom: 60px;
  }
  .box_btn_command {
      margin-top: 0;
  }
  h2 {
      font-size: 40px;
      line-height: 1;
  }
  .section_command h2 {
      margin-bottom:45px;
  }
  .section_command {
      padding-top: 40px;
  }
  .txt_w a {
      font-size: 20px;
  }
}

@media (max-width: 380px){
  h1 {
      font-size: 34px;
      margin-bottom: 20px;
  }
  .box_doc {
      flex-basis: 100%;
  }
  .txt_cpt p {
      font-size: 14px;
      width: 80%;
      margin-bottom: 15px;
  }
}