@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900');
* {box-sizing: border-box; border: none; outline: none; margin: 0; padding: 0; resize: none; text-decoration: none; font-family: 'Rubik', sans-serif; letter-spacing: 0.25px;}
input[type="submit"] {cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none;}

::-webkit-input-placeholder {color: #959595;}
:-moz-placeholder {color: #959595; opacity:  1;}
::-moz-placeholder {color: #959595; opacity:  1;}
:-ms-input-placeholder {color: #959595;}

header {background: #007439; border-bottom: 2px solid #9dffcd;}
header > div {max-width: 1140px; padding: 0 20px; display: flex; margin: 0 auto; justify-content: space-between; align-items: center;}
header .logo {}
header .logo img {display: block;}
header nav {}
header nav a {color: #fff; font-weight: 300; margin: 0 40px;}
header nav a:hover {border-bottom: 1px solid #ddd;}
header .cont {display: flex; align-items: flex-start;}
header .cont img {margin-right: 10px; margin-top: 7px;}
header .cont > div {display: flex; flex-direction: column; align-items: flex-start;}
header .cont > div .tel {color: #fff;}
header .cont > div .mail {color: #fff; font-size: 12px; opacity: 0.7; margin-top: 5px; font-weight: 300;}
header .cont > div > div {display: flex; flex-direction: column; align-items: flex-start;}

.main {background: #007439;}
.main > div {max-width: 1140px; display: flex; margin: 0 auto; padding: 30px 20px; justify-content: space-between; align-items: center;}
.main .l {max-width: 600px;}
.main .r {}
.main h1 {color: #fff; font-size: 26px; font-weight: 500;}
.main h2 { color: #fff; font-size: 16px; line-height: 1.4; font-weight: 400; margin: 5px 0 0; } 
.main p {color: #fff; max-width: 325px;}
.main ul {list-style: none; margin-top: 15px;}
.main ul li {margin: 10px 0; color: #fff; display: flex;}
.main ul li .ico {background: #007439; display: flex; align-items: center; justify-content: center; margin-right: 10px; position: relative; top: -2px;}
.main ul li .ico img {}
.main ul li .txt {line-height: 20px;}
.main .buts {margin-top: 20px; display: flex;}
.main .buts .but1 {font-size: 14px; background: #fff; color: #000; padding: 12px 25px; margin-right: 10px;}
.main .buts .but1:hover {cursor: pointer; box-shadow: 0 0 0 2px #fff;}
.main .buts .but2 {font-size: 14px; background: #FF4D00;; color: #fff; padding: 12px 25px;}
.main .buts .but2:hover {cursor: pointer; box-shadow: 0 0 0 2px #FF4D00;}

.mainimg {position: relative;}
.mainimg:before {content: ""; background: #007439; position: absolute; top: 0; left: 0; width: 100%; height: 70%;}
.mainimg > div {position: relative; max-width: 1140px; display: flex; margin: 0 auto; padding: 10px 20px 0; justify-content: space-between; align-items: center;}
.mainimg .img {display: block; width: 100%;}
.mainimg .info {position: absolute; bottom: 50px; left: 100px; display: flex; color: #fff;}
.mainimg .info > div {margin-right: 80px;}
.mainimg .info > div:last-of-type {margin-right: 0;}
.mainimg .info > div .t {font-weight: 300;}
.mainimg .info > div .d {font-size: 72px;}
.mainimg .owl-nav button { position: absolute; left: 20px; top: 50%; margin: -25px 0 0; background: #fff; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; padding: 10px;}
.mainimg .owl-nav button span {}
.mainimg .owl-nav button.owl-prev { background: #fff; font-size: 50px; line-height: 50px; }
.mainimg .owl-nav button.owl-next { left: auto; right: 20px; background: #fff; font-size: 50px; line-height: 50px; }
.mainimg .owl-nav button:hover {background: #FF4D00; cursor: pointer;}
.mainimg .owl-nav button:hover span {filter: brightness(0) invert(1);}

.about {max-width: 1140px; display: flex; margin: 50px auto 0; padding: 0 20px 0; justify-content: space-between;}
.about > span { max-width: 250px; margin: 0 20px; display: flex; align-items: center; }
.about > span > img { max-width: 100%; }
.about > div { flex: 1; }
.about h2 {font-size: 32px; font-weight: 600; line-height: 38px;}
.about p {margin: 30px 0; line-height: 24px;}
.about ul {list-style: none;}
.about ul li {margin: 15px 0;}
.about ul li:before {content: "— ";}

.lineform {max-width: 1140px; margin: 80px auto 0; padding: 40px; background: #007439;}
.lineform form {display: flex;}
.lineform form input[type="text"] {font-size: 16px; flex: 1; padding: 10px 15px; margin-right: 20px;}
.lineform form input[type="submit"] {font-size: 16px; flex: 1; color: #fff; background: #FF4D00; text-align: center;}
.lineform form input[type="submit"]:hover {box-shadow: 0 0 0 2px #FF4D00;}

.catalog {max-width: 1140px; margin: 0 auto; padding: 0 20px;}
.catalog .item {display: flex; padding-top: 80px;}
.catalog .item > span { margin: 0 20px; max-width: 250px; align-items: center; display: flex; }
.catalog .item > span > img { max-width: 100%; }
.catalog .item > div {flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.catalog .item > div h2 {font-size: 18px; font-weight: 500;}
.catalog .item > div p {margin: 20px 0; line-height: 24px;}
.catalog .item > div table {width: 100%; border-spacing: 10px;}
.catalog .item > div table tr {}
.catalog .item > div table tr td {font-size: 14px; padding: 10px 0; border-bottom: 1px solid #a5a5a5;}
.catalog .item > div table tr td.tdbut {padding: 0; border-bottom: 0;}
.catalog .item > div table tr td .but {color: #fff; background: #007439; text-align: center;padding: 8px 0;}
.catalog .item > div table tr td .but:hover {cursor: pointer; box-shadow: 0 0 0 2px #FF4D00; background: #FF4D00;}
.catalog .item > div table tr:first-of-type td {border-bottom: 0; font-weight: 500;}
.catalog .item_btn { text-align: center; margin: 30px 0 0; }
.catalog .item_btn .but { display: inline-block; color: #fff; background: #007439; text-align: center;padding: 8px 30px;}
.catalog .item_btn .but:hover {cursor: pointer; box-shadow: 0 0 0 2px #FF4D00; background: #FF4D00;}

.twoInfo {max-width: 1140px; margin: 80px auto 0; padding: 0 20px; display: flex; flex-wrap: wrap; justify-content: space-between;}
.twoInfo div {width: 48%; margin: 0 0 20px;}
.twoInfo div h2 {font-size: 24px; font-weight: 500;}
.twoInfo div img {display: block; width: 100%; margin: 20px 0;}
.twoInfo div p {margin: 20px 0; line-height: 24px;}

.infoSldier {background: #F8F8F8; margin-top: 80px; padding: 60px 0;}
.infoSldier > div {max-width: 1140px; margin: 0 auto; padding: 0 20px; position: relative; display: flex; justify-content: center; align-items: center;}
.infoSldier .sButs {display: flex; margin-bottom: 20px; position: absolute; top: 0; left: 0; z-index: 9;}
.infoSldier .sButs div {margin-right: 10px; background: #fff; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; padding: 10px;}
.infoSldier .sButs div img {}
.infoSldier .sButs div.n {}
.infoSldier .sButs div.n img {transform: rotate(180deg);}
.infoSldier .sButs div:hover {background: #FF4D00; cursor: pointer;}
.infoSldier .sButs div:hover img {filter: brightness(0) invert(1);}
.infoSldier .item {display: flex;}
.infoSldier h2 {font-size: 24px; font-weight: 500;}
.infoSldier p {margin: 20px 0; line-height: 24px;}
.infoSldier .r {flex: 1;}
.infoSldier .txt {padding-right: 80px;}
.infoSldier .item .r .img {display: block;}
.infoSldier .item .r .img img {display: block; width: 100%;}
.infoSldier .owl-carousel {max-width: 380px;}
.infoSldier .owl-nav {display: none!important;}

.mapInfo {max-width: 1140px; margin: 80px auto 0; padding: 0 20px; display: flex; justify-content: space-between;}
.mapInfo .l {max-width: 320px; margin-right: 50px;}
.mapInfo .l h2 {font-size: 24px; font-weight: 400;}
.mapInfo .l ul {list-style: none; margin-top: 30px;}
.mapInfo .l ul li {display: flex; display: flex; margin: 10px 0; align-items: center; margin: 20px 0 0;}
.mapInfo .l ul li .ico {background: #007439; display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin-right: 10px;}
.mapInfo .l ul li .ico img {}
.mapInfo .l ul li .txt {line-height: 20px;}
.mapInfo .r {}
.mapInfo .r img {display: block; width: 100%;}

.project {max-width: 1140px; margin: 80px auto 0; padding: 0 20px;}
.project .top {display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px;}
.project h2 {font-size: 24px; font-weight: 400;}
.project .sButs {display: flex;}
.project .sButs div {margin-left: 10px; background: #fff; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; padding: 10px;}
.project .sButs div img {}
.project .sButs div.n {}
.project .sButs div.n img {transform: rotate(180deg);}
.project .sButs div:hover {background: #FF4D00; cursor: pointer;}
.project .sButs div:hover img {filter: brightness(0) invert(1);}
.project .item {}
.project .item img {position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%;}
.project .item:after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #007439; opacity: 0.8;}
.project .item .cont {position: relative; z-index: 99; color: #fff; padding: 20px;}
.project .item .cont .date {font-size: 22px;}
.project .item .cont .city {margin-top: 10px;}
.project .item .cont .name {margin-top: 10px;}
.project .item .cont .comp {margin-top: 10px;}
.project .owl-nav {display: none!important;}
.project .owl-carousel .owl-stage {display: flex;}

.projectsItems {display: flex; justify-content: space-between; position: relative;}
.projectsItems > div {width: 23%; position: relative;}
.projectsItems img {width: 100%; height: 100%; object-fit: cover;}

.contmap {margin-top: 80px; position: relative; display: flex;}
.contmap .map {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.contmap .map > ymaps {height: 100%!important;}
.contmap .wrcont {position: relative; max-width: 1140px; width: 100%; margin: 0 auto; display: flex;}
.contmap .wrcont .cont {background: #fff; padding: 20px 50px; min-width: 420px;}
.contmap .wrcont .cont p {font-size: 18px; margin: 25px 0; line-height: 24px;}
.contmap .wrcont .cont p a {color: #000;}

footer {background: #007439; border-bottom: 2px solid #9dffcd;}
footer > div {max-width: 1140px; padding: 0 20px; display: flex; margin: 0 auto; justify-content: space-between; align-items: center;}
footer .logo {}
footer .logo img {display: block;}
footer nav {}
footer nav a {color: #fff; font-weight: 300; margin: 0 40px;}
footer nav a:hover {border-bottom: 1px solid #ddd;}
footer .cont {display: flex; align-items: flex-start;}
footer .cont img {margin-right: 10px; margin-top: 7px;}
footer .cont div {display: flex; flex-direction: column; align-items: flex-start;}
footer .cont div .tel {color: #fff;}
footer .cont div .mail {color: #fff; /*font-size: 12px; opacity: 0.7;*/ margin-top: 5px; /*font-weight: 300;*/}

.pu {position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: none; justify-content: center; align-items: center; z-index: 999;}
.pu.show {display: flex;}
.pubg {background: #F8F8F8; opacity: 0.5; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.puclose {position: absolute; position: absolute; top: 20px; right: 20px; cursor: pointer;}
.pucont {position: relative; background: #F8F8F8; padding: 60px 65px; box-shadow: 0 0 10px #c3c3c3; min-width: 460px;}
.pucont form {}
.pucont form input[type="text"] {font-size: 16px; flex: 1; padding: 10px 15px; margin-right: 20px; display: block; width: 100%; margin: 20px 0;}
.pucont form input[type="submit"] {font-size: 16px; flex: 1; padding: 10px 15px; color: #fff; background: #FF4D00; text-align: center; display: block; width: 100%; margin: 20px 0;}
.pucont form input[type="submit"]:hover {box-shadow: 0 0 0 2px #FF4D00;}

.label-error {box-shadow: 0 0 0 2px red;}


.anim {
	-moz-transition: 0.3s all ease;
	-o-transition: 0.3s all ease;
	-webkit-transition: 0.3s all ease;
	transition: 0.3s all ease;
}

.mmenu {display: none;}
.mmenu img {display: block; width: 32px;}

.table {overflow: auto; max-width: 100%;}



@media (max-width: 1130px){
	.main h1 {font-size: 30px;}
	.about h2 {font-size: 30px;}
	.main .l {max-width: 480px;}
}

@media (max-width: 1080px){
	header nav a {margin: 0 20px;}
	footer nav a {margin: 0 20px;}
	.contmap .wrcont .cont {padding: 20px 20px; min-width: 380px;}
	.contmap .wrcont .cont p {font-size: 16px;}
	.infoSldier .sButs {position: static;}
}

@media (max-width: 1000px){
	.main > div {flex-direction: column; justify-content: flex-start; align-items: flex-start;}
	.main .l {max-width: 100%; margin-bottom: 20px;}
	.about > img {max-width: 380px;}
	.catalog .item > span {max-width: 280px;}
	.mapInfo {flex-direction: column; justify-content: flex-start; align-items: flex-start;}
	.mapInfo .l {max-width: 100%; margin-bottom: 0;}
	.mapInfo .r {width: 100%;}
	header .logo img {width: 140px;}
	header .cont div .mail {margin-top: 0;}
}

@media (max-width: 960px){
	.lineform {padding: 40px 20px;}
}

@media (max-width: 920px){
	.lineform {padding: 20px;}
	.lineform form {flex-direction: column;}
	.lineform form input[type="text"] {margin-right: 0; margin-bottom: 20px;}
	.lineform form input[type="submit"] {padding: 15px 0;}
}

@media (max-width: 880px){
	header nav {display: none;}
	footer nav {display: none;}
	.mainimg .info > div .d {font-size: 50px;}
	.mainimg .info {bottom: 30px; left: 70px;}
	.main h1 {font-size: 24px; line-height: 32px;}
	.about h2 {font-size: 24px; line-height: 32px;}
	.mmenu {display: block;}
	header .cont {flex: 1; margin-left: 20px;}
	header .logo img {width: 120px;}
	header .cont > div {flex-direction: row; align-items: center;}
	header .cont > div .mail {font-size: 14px; margin-left: 20px;}
	footer .logo img {width: 120px;}
	footer .cont > div {flex-direction: row; align-items: center;}
	footer .cont > div .mail {font-size: 14px; margin-left: 20px;}
	header {position: sticky; top: 0; left: 0; z-index: 999;}
	header nav.show {position: fixed; top: 59px; flex-direction: column; background: #007439; right: 0; width: 100%; height: 100%; text-align: center; padding-top: 10px; display: flex;}
	header nav a {font-size: 20px; margin: 20px 0 0;}
}

@media (max-width: 820px){
	.twoInfo {flex-direction: column; margin-top: 20px;}
	.twoInfo div {width: 100%; margin-top: 30px;}
	.infoSldier > div {flex-direction: column;}
	.infoSldier .txt {padding-right: 0;}
	.infoSldier .sButs {display: none;}
	.projectsItems {flex-direction: column;}
	.projectsItems > div {width: 100%; margin: 20px 0 0;}
	.project .top {margin-bottom: 10px;}
	.contmap {flex-direction: column-reverse;}
	.contmap .map {position: static; height: 300px;}
	.contmap .wrcont .cont {min-width: 100%;}
	.project {margin: 40px 0 0;}
	.infoSldier {margin-top: 40px;}
	.catalog .item {flex-direction: column;}
    .catalog .item > span { order: 1; max-width: 300px; margin: 0; }
    .catalog .item > div:first-child { order: 2; margin: 0 0 30px; }
    .catalog .item > div:last-child { order: 3; }
    .about { flex-direction: column; }
	.about > img {max-width: 280px;}
    .about > span { order: 1; margin: 0 0 20px; }
    .about > div:first-child { order: 2; margin: 0 0 20px; }
    .about > div:last-child { order: 3; }
}

@media (max-width: 540px){
	.mainimg .info > div .d {font-size: 36px;}
	.mainimg .info {bottom: 20px; left: 50px;}
	/*.about {flex-direction: column-reverse;}
	.about > img {margin: 20px auto 0; max-width: 100%;}*/
	.lineform {margin: 40px 0 0;}
	.catalog .item {flex-direction: column;}
    .catalog .item > span { order: 1; max-width: 300px; }
    .catalog .item > div:first-child { order: 2; margin: 0 0 30px; }
    .catalog .item > div:last-child { order: 3; }
	.catalog .item > div table tr td {font-size: 12px; white-space: nowrap; padding: 5px;}
	.catalog .item > div table tr td .but {font-size: 12px; padding: 8px 10px;}
	header .cont > div .mail {display: none;}
	footer .cont > div .mail {display: none;}
	.catalog .item > div table {border-spacing: 2px;}
}

@media (max-width: 420px){
	header .logo img {width: 100px;}
	header .cont > div .tel {font-size: 14px;}
	header .cont img {margin-right: 7px; margin-top: 5px;}
	footer .logo img {width: 100px;}
	footer .cont > div .tel {font-size: 14px;}
	footer .cont img {margin-right: 7px; margin-top: 5px;}
	.mmenu img {width: 28px;}
}

@media (max-width: 350px){
	header .logo img {width: 90px;}
	header .cont img {display: none;}
	footer .logo img {width: 90px;}
	footer .cont img {display: none;}
}