@import url('https://fonts.googleapis.com/css?family=PT+Sans+Narrow:300,400,700,800&display=swap&subset=cyrillic');

/* ОБЩИЕ СТИЛИ */
* {
	box-sizing:border-box;
	margin:0;
	padding:0;
}
html {
	font-size:12px;
	height:100%;
	min-height:100%;
}
body {
	font:1.6rem/1.6em 'PT Sans Narrow', sans serif;
	background:#F4F7F9 url(../img/background.png);
	/overflow-x:hidden;
	height:100%;
	min-height:100%;
}
a {
	color:#005DA2;
	outline:none;
}
.center {
	text-align:center;
}
.justify {
	text-align:justify;
}
.button {
	display:inline-block;
	padding:1.2rem 3rem;
	border:2px solid #005DA2;
	color:#005DA2;
	border-radius:100px;
	text-decoration:none;
	outline:none;
	transition:.5s all;
	cursor:pointer;
	font-size:1.3rem;
	font-weight:600;
	text-transform:uppercase;
}
.button.white {
	border:2px solid #FFF;
	color:#FFF;
}
.button:hover {
	background:#005DA2;
	border:2px solid #005DA2;
	color:#FFF;
}
.button.small {
	padding:.8rem 2.5rem;
	font-size:1.2rem;
}

.width {
	width:1170px;
	max-width:95%;
	margin:auto;
}

/* СТИЛИ FLEX-ЭЛЕМЕНТОВ */
.flex {
	display:flex;
	align-content:space-between; /* выравнивание по  вертикали */
	justify-content:space-between; /* распредение элементов в строке по горизонтали */
	/*line-height:1.4rem;*/
}
.fl-wrap {
	flex-wrap:wrap;
}

/* СТИЛИ ХИДЕРА */
.header {
	position:relative;
	width:100%;
	background:#FFF;
	box-shadow:0 0 5px #CCC;
	align-items:center;
}
/* Верхний блок */
.topblock {
	border-bottom:1px solid #DEDEDE;
	padding:5px 0;
	font-size:1.2rem;
	justify-content:flex-start;
}
.topblock i {margin-right:1em;}
.topblock a {
	padding:10px 0;
	text-decoration:none;
	font-weight:600;
}
.topblock > div {
	margin-right:2.5rem;
}
/* Шапка */
.bottomblock {
	padding:.5rem 0;
	align-items:center;
}
/* Логотип */
.fixedLogo {
	padding:20px 0 25px;
	text-align:right;
	position:relative;
}
.fixedLogo img {
	width:80%;
	height:auto;
}
.fixedLogo img.logo_1 {
	position:absolute;
	top:15px;
	left:0;
	width:50px;
	animation:run 2s 1 ease-in-out;
	animation-delay:0.5s;
}
.fixedLogo .ufa {
	position:absolute;
	right:0;
	top:57px;
}
.fixedLogo img.ufa_1, .fixedLogo img.ufa_2 {
	width:17px;
	height:auto;
	animation:run 2s 1 ease-in-out;
	animation-delay:0.5s;
}
/* intext */
.fixedLogo.intext {
	display:block;
	width:290px;
	max-width:290px;
	margin:10px auto;
}
.fixedLogo.intext img {
	width:225px;
}
.fixedLogo.intext img.logo_1 {
	top:10px;
	left:0;
	width:60px;
	animation-iteration-count:infinite;
}
.fixedLogo.intext .ufa {
	top:53px;
}
.fixedLogo.intext img.ufa_1, .fixedLogo.intext img.ufa_2 {
	width:17px;
	animation-iteration-count:infinite;
}

.is-sticky .fixed {
	background:#FFF !important;
	box-shadow:0 0 5px #CCC;
	z-index:1001;
}
.is-sticky .fixed .fixedLogo {
	padding:10px 0 15px;
	text-align:right;
	position:relative;
}
.is-sticky .fixed .fixedLogo img.logo_1 {
	top:5px;
}
.is-sticky .fixed .fixedLogo .ufa {
	top:45px;
}
/* Анимация в логотипе */
@keyframes run {100% {transform:rotate(360deg);}}
@-webkit-keyframes run {100% {transform:rotate(360deg);}}

/* Верхнее меню */
.topmenu {
	align-items:center;
}
.topmenu li {
	position:relative;
	list-style:none;
	transition:.3s all;
	margin:0 5px;
}
.topmenu > li:hover, .topmenu > li.active {
	box-shadow:0 0 2px #005DA2;
}
.topmenu > li.parent > a {
	position:relative;
	padding-right:3rem;
}
.topmenu > li.parent > a:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	width:2.5rem;
	background:url(../img/arrow.svg) no-repeat center center / 10px;
	transition:.3s all;
}
.topmenu > li.parent:hover > a:after {
	background:url(../img/down.svg) no-repeat center center / 10px;
}
.topmenu li a {
	display:block;
	padding:1.5rem;
	text-decoration:none;
	color:#000;
	font-size:1.4rem;
	font-weight:700;
	text-transform:uppercase;
}
.topmenu li ul {
	display:none;
	position:absolute;
	top:100%;
	left:0;
	padding-top:20px;
	z-index:1001;
}
.topmenu li ul:before {
	display:block; content:''; border:10px solid transparent; border-bottom-color:#005DA2;
	position:absolute;
	top:0;
	left:15%;
}
.topmenu li ul li {
	background:#005DA2;
	white-space:nowrap;
	padding:0 20px;
}
.topmenu li ul li:first-child {
	border-radius:5px 5px 0 0;
	padding-top:15px;
}
.topmenu li ul li:last-child {
	border-radius:0 0 5px 5px;
	padding-bottom:15px;
}
.topmenu li ul li a {
	font-size: 1.6rem;
	padding:5px 1.5rem;
	font-weight:400;
	color:#FFF;
	text-transform:none;
}
.topmenu li ul li a:hover {
	text-decoration:underline;
}
.showmenu {
	display:none;
}

/* КАРУСЕЛЬ НА ГЛАВНОЙ */
.carouselMain {
	position:relative;
	height:550px;
}
.carouselText {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:1;
	background:rgba(0,0,0,.5);
}
.carouseTitle {
	color:#FFF;
	z-index:2;
}
.carouseTitle p {
	margin-bottom:4rem;
	font-size:4rem;
	line-height:1.2em;
	text-transform:uppercase;
	text-shadow:0 1px 4px #000;
}
.carousetitle a.button {
	height:30px !important;
}

/* СТИЛИ СЕКЦИЙ */
.section {
	padding:6rem 0;
	box-shadow:0 15px 35px #EDEDED;
}
.section.light {
	background:#FFF;
}
.section.blue {
	background:#005DA2;
}

.section.content {
	padding:2rem 0;
	min-height:65vh;
}
.section_title {
	position:relative;
	padding:0 0 6rem 0;
	text-align:center;
	font-size:3.8rem;
	line-height:1.4em;
	font-weight:400;
	text-transform:uppercase;
}
.section_title:after {
	content:"";
	display:block;
	height:3px;
	background:#005DA2;
	width:20%;
	margin:1rem auto;
}
.section.content .section_title {
	padding:2rem 0 6rem ;
	font-size:3rem;
}
.section.content .section_title:after {
	display:none;
}
.container	{
	flex-flow:row nowrap;
}
.container img {
	max-width:100%;
}
.item {
	text-align:center;
	margin:2rem;
	width:30%;
}
.speedbar {
	margin:0;
	padding:1rem 0;
	border-bottom:1px dashed #CCC;
	font-size:.9em;
}

/* О компании */
.about {
	margin-bottom:20px;
}
.about p {
	margin-bottom:20px;
}
/* Деятельность */
.services {
	justify-content:space-evenly;
}
.service {	
	margin:2rem;
	padding:3rem;
	background:#FFF;
	border-radius:10px;
	box-shadow:0 5px 15px #CCC;
}
.item.service img {
	display:block;
	width:40%;
	text-align:center;
	margin:2rem auto;
}
.serv_name {
	margin:2rem auto 4rem;
	font-size:3rem;
}

/* Производственная база */
.base img {
	width:90%;
	border-radius:10px;
	box-shadow:0 5px 15px #CCC;
}

/* Продукция */
.products {
	justify-content:center;
	padding:2rem;
}
.item.prod {
	width:48%;
	margin:1%;
	padding:1%;
	text-decoration:none;
	background:#FFF;
	box-shadow:0 5px 15px #DEDEDE;
}
.product {
	align-items:center;
	justify-content:flex-start;
	align-items: flex-start;
	padding:1.5rem;
	border-radius:10px;
}
.product a {
	text-decoration: none;
}
.p_image  {
	width:15%;
	flex-shrink:0;
}
.p_title {
	padding:0 20px;
	text-align: left
}
.p_title b {
	display: block;
	text-align:left;
	font-size:1.1em;
	line-height:1.2em;
	color:#000;
	margin-bottom: 10px;
}
.p_title b a {
	color:#000;
}
.prod_item {
	margin-bottom:3rem;
}
.prod_item a.pr {
	font-size:1.2em;
	font-weight:600;
	color:#000;
	text-decoration:none;
}
.prod_item a.pr > p.pr_text {
	font-size:.8em;
	font-weight:300;
}

/* Реализованные проекты */
#dle-content {display:flex; flex-wrap:wrap; justify-content: center;}

.project_main {
	position:relative;
	width:30%;
	max-width:100%;
	height:300px;
	overflow:hidden;
	margin:1rem;
	border-radius:10px;
}
.project_main a {
	display:block;
	color:#FFF;
	text-decoration:none;
}
.project_main a img {
	width:100%;
}
.project_main .project_title {
	position:absolute;
	bottom:0; left:0; right:0;
	padding:25px 15px;
	font-size:1.2em;
	font-weight:700;
	line-height:1.2em;
	text-align:center;	
	background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,#000 100%);
}
.project_cat {
	position:relative;
	display:inline-block;
	width:45%;
	background:#FFF;
	box-shadow:0 5px 15px #CCC;
	margin:2%;
}
.project_block {
	display:table;
	text-decoration:none;
	color:#555;
	line-height:1.1em;
}
.project_block > div {
	display:table-cell;
	vertical-align:top;
}
.project_block .project_image {
	width:40%;
	height: 220px;
	overflow: hidden;
}
.project_block .project_image img {
	display:block;
	width:100%;
	height: 220px;
	object-fit:cover;
}
.project_block .project_title {
	width:60%;
	padding:20px;
	font-weight:700;
}
.project_cat .edit {
	display:none;
	position:absolute;
	bottom:0;
	right:0;
}
.project_cat:hover .edit {
	display:block;
}
/* cat2 */
.project_cat2 {
	position:relative;
	width:29.1%;
	background:#FFF;
	box-shadow:0 5px 15px #DEDEDE;
	margin:2%;
	vertical-align:top;
	transition:.3s all;
}
.project_cat2:hover {
	box-shadow:0 5px 25px #CCC;
}
.project_cat2 .project_block {
	display:block;
	text-decoration:none;
	color:#555;
	line-height:1.1em;
}
.project_cat2 .project_block > div {
	display:block;
}
.project_cat2 .project_block .project_image {
	width:100%;
	height: 220px;
	//overflow: hidden;
}
.project_cat2 .project_block .project_image img {
	display:block;
	width:100%;
}
.project_cat2 .project_block .project_title {
	width:100%;
	padding:10px 15px 15px;
	background:#FFF;
}
.project_cat2 .project_block .project_title p {
	margin-bottom:10px;
}
.project_cat2 .edit {
	display:none;
	position:absolute;
	bottom:0;
	right:0;
}
.project_cat2:hover .edit {
	display:block;
}

/* Партнеры */
.partners img {
	display:inline-block;
	margin:5px 0;
	box-shadow:0 2px 5px #CCC;
	max-width:200px;
}

/* Контакты */
.contacts {
	align-items: center;
	justify-content: space-between;
	background:#FFF;
	box-shadow:0 5px 15px #CCC;
}
.contacts > div {
	padding:2em;
	margin:1%;
}
.contacts_bl {
	padding:2rem 1rem;
}
.contacts_bl.flex {
	justify-content: flex-start;
}
.contacts_bl, .contacts_bl a {
	line-height:1.5em;
}
.contacts i {
	display:inline-block;
	width:50px;
	text-align:center;
}
.share {margin:1em auto; text-align:center;}

form.mess {
	padding:3rem;
}

.full_text table {
	border-collapse:collapse;
	width:100% !important;
}
.full_text table td {
	border:1px solid #CCC;
	padding:5px;
	background:#FFF !important;
}
.full_text table tr:first-child td {
	font-weight:700;
}
.full_text table tr:nth-child(even) td {
	background:#f8f8f8 !important;
}

.full_text .gall {text-align:center;}
.full_text .gall img {float:none !important;}

.xfieldimagegallery {display:flex; flex-wrap:wrap; justify-content:center;}


.buttons {text-align:center; margin:2em auto;}

.attachment {
	margin-bottom:10px;
}
.attachment .flex {
	align-items:center;
	justify-content:flex-start;
	font-size:1.8rem;
	text-decoration:none;
}
.attachment .flex span {
	padding:0 20px;
}

.contacts {
	justify-content:flex-start;
	align-items:start;
}
.contacts > div {
	width:50%;
	line-height:1.2em;
}

/* Подвал */
.section.footer {
	padding:2rem 0;
	color:#FFF;
}
.section.footer a {
	color:#FFF;
}

/* АДАПТИВНЫЕ СТИЛИ */
@media (max-width:768px) {

	.width {width:95vw;}
	
	/* Верхний блок */
	.topblock {
		padding:10px 0;
		font-size:1.4rem;
		flex-wrap:wrap;
		justify-content:flex-start;
	}
	.topblock a {
		padding:10px 0;
		text-decoration:none;
		font-weight:600;
	}
	.topblock > div {
		margin-right:2.5rem;
	}

	/* кнопка показа меню */
	.showmenu {
		position:relative;
		display:block; 
		width:50px;
		height:50px;
		cursor:pointer;
		background:#005DA2;
		border-radius:5px;
	}
	.showmenu b, .showmenu b:before, .showmenu b:after { 
		content:''; 
		display:block; 
		position:absolute; 
		width:30px; 
		height:4px; 
		background:#FFF;
		transition:.3s all;
		border-radius:2px;
	}
	.showmenu b {top:50%; right:10px;}
	.showmenu b:before {top:-8px;}
	.showmenu b:after {bottom:-8px;}
	.showmenu.active b {background-color:transparent;}
	.showmenu.active b:before {top:0; transform:rotate(-45deg);}
	.showmenu.active b:after {top:0; transform:rotate(45deg);}
	
	.topmenu {
		display:none;
		position:absolute;
		top:100%;
		left:0;
		right:0;
		background:#FFF;
		padding:20px;
		text-align:center;
		box-shadow:0 10px 35px #DEDEDE;
		z-index:1001;
	}
	.topmenu li {
		margin-bottom:5px;
	}
	.topmenu li ul {
		position:relative;
		top:auto;
		left:auto;
	}
	.topmenu li ul:before {
		display:none;
	}
	.topmenu li ul li {
		background:#F8F8F8;
		white-space:auto;
	}
	.topmenu li ul li a {
		color:#000;
	}
	.topmenu li ul li:first-child, .topmenu li ul li:last-child {
		border-radius:0;
		padding-top:0;
	}

	.carouselMain {
		position:relative;
		height:60vh;
	}
	.container {
		flex-flow:column nowrap;
	}
	
	/* слайдер на главной */
	.carouseTitle p {
		margin-bottom:3rem;
		font-size:3rem;
	}

	.section {
		padding:4rem 0;
	}
	.section_title {
		padding:0 0 2rem 0;
		font-size:3rem;
	}
	.section_title:after {
		width:40%;
		margin:0 auto;
	}
	
	/* Деятельность */
	.services {
		flex-direction:column;
	}
	.service {
		width:80%;
		text-align:center;
		margin:1rem auto;
	}
	.item.service img {
		width:130px;
		padding:0 1rem;
	}
	.item.service a {
		display:block;
		width:100%;
	}
	
	/* Производственная база */
	.base img {
		width:80%;
		margin:1rem auto;
		padding:0;
	}
	
	/* Продукция */
	.products {
		padding:1em 0;
		flex-flow:column wrap;
	}
	.item.prod {
		width:auto;
		padding:1rem 0;
	}
	.product {
		//align-items:center;
		padding:1.5rem;
	}
	.p_image  {
		width:15%;
		flex-shrink:0;
		padding:.1em;
	}
	.p_title {
		padding:0 10px;
		text-align:left;
		font-size:1.1em;
		line-height:1.2em;
		color:#000;
	}
	.prod_item {
		margin-bottom:3rem;
	}
	.prod_item a.pr {
		font-size:1.2em;
		font-weight:600;
		color:#000;
		text-decoration:none;
	}
	.prod_item a.pr > p.pr_text {
		font-size:.8em;
		font-weight:300;
	}
	
	/* Реализованные проекты */
	.project_cat {
		display:block;
		width:400px;
		max-width:90%;
		margin:5% auto;
	}
	.project_block {
		display:block;
	}
	.project_block > div {
		display:block;
		text-align:center;
	}
	
	.project_block .project_image {
		width:100%;
	}
	.project_block .project_title {
		width:100%;
	}
	/* cat2 */
	.project_cat2 {
		display:block;
		width:90%;
		margin:6% auto;
	}
	
	/* Партнеры */
	.partners img {
		width:40%;
	}
	
	/* Контакты */
	.contacts {
		flex-flow:column wrap;
	}
	.contacts > div {
		width:100%;
	}
	.contacts_bl {
		width:93%;
	}
	.contacts_bl, .contacts_bl a {
		line-height:1.3em;
	}
	
	.full_text table {
		display:block;
		overflow-x:auto;
	}
}

#preloader {position:fixed; left:0; top:0; right:0; bottom:0; background:#FFF; z-index:100500; overflow:hidden;}
#preloader img.anim {position:absolute; top:50%; left:50%; width:72px; height:72px; margin:-36px 0 0 -36px; animation:run 2s 1 ease-in-out; animation-delay:0.1s;}

#search {
	display:none;
	position: absolute;
	top:100%; left:0; right:0;
	z-index: 9999;
	padding:10px 0;
	background:#F7F7F7;
	text-align:right;
	border-bottom:1px solid #DEDEDE;
}

.sresult {margin-bottom:30px;}
.stitle {font-size:1.1em; line-height:1.2em;}
.sresult table td {border:none !important;}
fieldset {padding:10px; border:1px solid #CCC; margin:10ox;}
legend {padding:0 10px;}

.lang {flex-grow: 1;}
.lang form {display:block; text-align:right;}
.lang input[type=radio] {display:none;}
.lang label {cursor:pointer; background:#005DA2; color:#FFF; border:1px dashed #005DA2; margin:0 5px 0 0; padding:5px 15px;}
.lang label.disabled {cursor:auto; background:#FFF; color:#ccc; border:1px solid silver;}
