@import "bootstrap.min.css";
@import "icons.css";
@import "slick.css";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

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

body {
	font: 16px/20px 'Open Sans', Helvetica, sans-serif;
	color: #393939;
}

input:focus, textarea:focus, select:focus, button:focus, a:hover, a:focus, a:active, .slick-active { outline: none; }

a {
	color: #393939;
}

a:hover, a:focus, a:active {
	color: #393939;
	text-decoration: none;
}

.fx { display: flex; }

.fx_column { flex-direction: column; }

.v_center { align-items: center; }

.h_center { justify-content: center; }
.h_end { justify-content: flex-end; }

.no_padding {
	padding-left: 0;
	padding-right: 0;
}


.wrapper {
	width           : 100%;
}


/* Header
-----------------------------------------------------------------------------*/
	.header {
		width : 100%;
		min-height: 80px;
		box-shadow: 0px 0px 5px rgb(171 30 34 / 30%);;
	}
	
	.header_desc_logo {
		
	}
	
	.header_desc_logo img {
		max-width: 100%;
	}
	
	.header_desc_logo,
	.header_desc_menu,
	.header_desc_phone {
		height: 80px;
		display: flex;
		align-items: center;
	}
	
	/*MENU*/
		.mm_wrap {
			width      : 100%;
			list-style : none;
			display    : flex;
			align-items: center;
			justify-content: center;
		}
		
		.mm_item {
			padding: 0 10px;
			box-sizing: border-box;
		}
		
		.mm_item a.mm_item_link {
			font-size: 16px;
		}
		
		.mm_item a.active {
			color: #ab1e22;
		}
		
		.footer .mm_wrap {
			flex-wrap: wrap;
		}
		
		.footer .mm_wrap .mm_item {
			width        : 50%;
			margin-bottom: 15px;
		}
	/*END MENU*/
	
	.header_desc_phone {
		text-align: right;
		font-size: 24px;
		font-weight: bold;
	}

	.header_desc_phone div {
		width: 100%;
	}
	
/* Middle
-----------------------------------------------------------------------------*/
	.content {

	}
	
	.bg_gray { background-color: #f9f7f7; }
	
	.screen {
		padding: 120px 0;
	}
	
	.screen_title {
		
	}
	
	.screen img {
		max-width: 100%;
	}
	
	.screen_title h1,
	.screen_title h2,
	.screen_title h3,
	.contact_detail_title h1 {
		font-size    : 36px;
		font-weight  : 600;
		line-height  : normal;
		margin       : 0;
		padding      : 0;
		margin-bottom: 30px;
	}
	
	.screen_sub_title {
	}
	
	.screen_sub_title a{
		color: #ab1e22;
	}
	
	
	.screen_sub_title,
	.screen_text p {
		margin-bottom: 30px;
		color        : #797676;
		font-size    : 14px;
		line-height  : normal;
	}
	
	.screen .map {
		margin-top: 15px;
		width     : 100%;
		height    : 400px;
	}
	
	a.download_link,
	a.download_link:hover {
		width           : 100%;
		max-width       : 320px;
		font-size       : 12px;
		text-transform  : uppercase;
		background-color: #ab1e22;
		color           : #ffffff;
		height          : 50px;
		padding         : 0 20px;
		border-radius   : 50px;
	}
	
	.download_link .ic_icon {
		margin-left: auto;
	}
	
	.txt_center {
		text-align: center;
	}

	/*SLIDER*/
		.slider {
			
		}
		
		.slider_container {
			position: relative;
		}
		
		.slider_item {
			padding            : 160px 0;
			min-height         : 710px;
			background-position: center;
			background-repeat  : no-repeat;
			background-size    : cover;
		}
		
		.slider_001 { background-image: url("../images/slider_001.webp"); }
		.slider_002 { background-image: url("../images/slider_002.webp"); }
		.slider_003 { background-image: url("../images/slider_003.webp"); }
		.slider_004 { background-image: url("../images/slider_004.webp"); }
		
		.slick-arrow {
			position        : absolute;
			top             : 45%;
			border          : none;
			width           : 42px;
			height          : 42px;
			background-color: transparent;
			background-image: url("../images/ic-icon_btn_row.png");
			font-size       : 0;
			z-index         : 10;
		}
		
		.slick-prev { left: 5%; }
		.slick-next { right: 5%; transform: rotate(180deg);}
		
		
		.slider_content {
			box-sizing      : border-box;
			padding         : 30px 30px;
			background-color: rgb(255 255 255 / 0.9);
			min-height      : 340px;
			display: flex;
			justify-content: center;
			flex-direction: column;
		}
		
		.slider_content_title h1,
		.slider_content_title h2 {
			padding    : 0;
			margin     : 0;
			font-size  : 32px;
			font-weight: 600;
			line-height: normal;
		}
		
		.slider_content_text {
			margin-top : 20px;
			font-size  : 22px;
			color      : #797676;
			line-height: normal;
		}
		
		.slider_content_text strong {
			font-weight: 400;
			font-style : normal;
			color      : #ab1e22;
		}
		
		.slider_item_footer {
			margin-top: 20px;
			flex-wrap : wrap;
		}
		
		.red_lg_btn,
		.red_lg_btn:hover,
		.gray_lg_btn,
		.gray_lg_btn:hover,
		.red_lg_btn:focus,
		.gray_lg_btn:focus {
			margin          : 3px 10px;
			display         : flex;
			align-items     : center;
			justify-content : center;
			width           : 100%;
			max-width       : 220px;
			height          : 70px;
			background-color: #ab1e22;
			color           : #ffffff;
			text-transform  : uppercase;
			font-size       : 12px;
			border-radius   : 50px;
			padding         : 0 20px;
		}
		
		.gray_lg_btn,
		.gray_lg_btn:hover,
		.gray_lg_btn:focus {
			background-color: #666464;
		}
		
		.slider_item_link_text {
			margin-left: 10px;
			flex: 1;
		}
	/*END SLIDER*/


	/*Федеральный уровень*/
		.federal_item {
			margin-top   : 30px;
			width        : 100%;
			min-height   : 420px;
			text-align   : center;
			padding      : 20px 20px;
			border-radius: 4px;
			border       : 1px solid #ded9d8;
		}
		
		.federal_item_title h4 {
			text-transform: uppercase;
			margin        : 0;
			padding       : 0;
			font-weight   : 500;
			font-size     : 26px;
			line-height   : normal;
			color         : #393939;
		}
		
		.federal_item_md_txt,
		.advantages_item_txt {
			font-size  : 14px;
			line-height: normal;
			color      : #797676;
		}
		
		.federal_item_sm_txt {
			font-size  : 12px;
			line-height: normal;
			color      : #797676;	
		}
		
		.federal_item_count {
			margin       : 30px 0;
			padding      : 30px 0;
			border-top   : 1px solid #ded9d8;
			border-bottom: 1px solid #ded9d8;
		}
		
		.federal_item_count_num {
			font-size  : 50px;
			line-height: normal;
			font-weight: bold;
			color      : #ab1e22;
		}
		
		.advantages_item {
			margin-top   : 30px;
			width        : 100%;
			min-height   : 380px;
			text-align   : center;
			padding      : 20px 20px;
			border-radius: 4px;
			border       : 1px solid #ded9d8;
		}
		
		.advantages_item_title {
			font-size: 24px;
			line-height: normal;
			margin: 30px 0;
		}
		
		.screen_sm_text_contact {
			line-height: normal;
		}
		
		.screen_sm_text_contact div,
		.screen_sm_text_contact a {
			margin: 0 10px;
			color: #797676;
		}
		
		.screen_sm_text_contact div span,
		.screen_sm_text_contact a span {
			margin: 0 5px;
		}
	/*конец федерального уровня*/
	
	/*Форма*/
		.fb_form {
			margin-top: 15px;
		}
		
		.fb_form .contact_form {
			
		}
		
		.fb_form .contact_form .contact_form_field {
			margin-bottom: 15px;
		}
		
		.fb_form .contact_form .contact_form_field:last-of-type {
			margin-bottom: 0;
		}
		
		.fb_form .contact_form .contact_form_field input[type="text"],
		.fb_form .contact_form .contact_form_field input[type="email"],
		.fb_form .contact_form .contact_form_field textarea {
			width        : 100%;
			padding      : 18px 18px;
			border       : none;
			border-radius: 4px;
			border       : 1px solid #ded9d8;
			resize       : none;
			font-size    : 16px;
			line-height  : normal;
		}
		
		.fb_form .contact_form .contact_form_field input[type="checkbox"] {
			margin-right: 10px;
		}
		
		.fb_form .contact_form .contact_form_field label {
			cursor: pointer;
		}
		
		.fb_form .contact_form .contact_form_field button.red_btn {
			margin-top      : 15px;
			width           : 100%;
			border          : none;
			width           : 100%;
			font-size       : 12px;
			text-transform  : uppercase;
			background-color: #ab1e22;
			color           : #ffffff;
			height          : 50px;
			padding         : 0 20px;
			border-radius   : 50px;
		}
	/*Конец формы*/
	
	/*О нас*/
		.about_us_sm_text {
			height: 40px;
		}
		
		.about_us_center_title {
			margin-top: 100px;
		}
		
		.about_us_item {
			margin       : 15px 0;
			width        : 100%;
			min-height   : 620px;
			text-align   : center;
			padding      : 15px 15px;
			border-radius: 4px;
			border       : 1px solid #ded9d8;
		}
		
		.about_us_item_title {
			font-size: 24px;
			line-height: normal;
			margin: 20px 0;
		}
		
		.about_us_item_txt {
			font-size: 13px;
			line-height: normal;
			color: #797676;
		}
		
		.about_us_item_txt p {
			margin-top: 15px;
		}
		
		.about_us_item_txt p:first-of-type {
			margin-top: 0;
		}
		
		.about_us_item_txt p strong {
			font-weight: 600;
			color: #393939;
		}
		
		.about_us_item_txt p a {
			color: #ab1e22;
			text-decoration: underline;
		}
	/*конец о нас*/
	
	/*Продукция*/
		.product_item {
			padding      : 10px 10px;
			border       : 1px solid #ded9d8;
			border-radius: 4px;
			margin-bottom: 30px;
			min-height   : 300px
		}
		
		.product_item_title {
			font-size    : 20px;
			font-weight  : 600;
			line-height  : normal;
			color        : #393939;
			margin-bottom: 10px;
		}
		
		.product_item_table {
			width  : 100%;
			padding: 0;
			margin : 0;
			color  : #797676;
		}
		
		.product_item_table tr td:first-of-type {
			box-sizing : border-box;
			padding    : 5px 0px;
			width      : 40%;
			font-size  : 13px;
			font-weight: normal;
		}
		
		.product_item_table tr td:last-of-type {
			box-sizing : border-box;
			width      : 60%;
			padding    : 5px 5px;
			font-size  : 13px;
			font-weight: normal;
			font-weight: 600;
		}
	/*Конец продукции*/
	
	.ctm {
		padding-top: 0;
	}
	
	.ctm_item {
		margin-bottom: 30px;
	}
	
	/*Контакты*/
		.contacts_page {
			min-height: calc(100vh - 388px);
			flex-wrap: wrap;
			align-items: stretch
		}
		
		.contact_detail {
			width: 50%;
			min-height: calc(100vh - 388px);
		}
		
		.contact_detail_map {
			width: 100%;
			height: calc(100vh - 240px);
		}
		
		.contact_detail_info {
			padding: 80px 15px
		}
		
		.cdc_item {
			margin-bottom: 30px;
		}
		
		.cdc_icon_place {
			width: 19px;
			margin-right: 10px;
		}
		
		.cdc_bar {
			color: #797676;
			line-height: normal;
		}
		
		.cdc_bar_title {
			text-transform: uppercase;
			font-size: 12px;
			font-weight: 700;
		}
		
		.cdc_bar_info {
			margin-top: 5px;
			font-size: 14px;
		}
		
		.cdc_bar table tr td {
			padding: 5px 0;
		}
		
		.cdc_bar table tr td:first-of-type {
			width: 35%;
		}
		
		.cdc_bar table tr td a {
			color          : #b12d31;
			text-decoration: underline;
		}
	/*конец контакты*/
	
	/*Новости*/
		.news_item {
			border       : 1px solid #ececec;
			margin-bottom: 30px;
			border-radius: 4px;
			overflow     : hidden;
		}
		
		.news_item:hover {
			border-color: #fff;
			box-shadow: 0 10px 20px 0 rgba(0,0,0,.1);
			transform: translateY(-1px);
			background-color: #fff;
		}
		
		.news_item_image {
			width   : 100%;
			height  : 250px;
			overflow: hidden;
		}
		
		.news_item_image img {
			width          : 100%;
			height         : 250px;
			object-fit     : cover;
			object-position: top;
		}
		
		.news_item_bar {
			padding: 20px 20px;
		}
		
		.news_item_date {
			color         : #999;
			font-size     : 11px;
			text-transform: uppercase;
		}
		
		.news_item_title {
			padding           : 10px 0 0 0;
			color             : #393939;
			font-size         : 18px;
			font-weight       : 600;
			
			display           : -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
			max-width         : 100%;
			overflow          : hidden;
			text-overflow     : ellipsis;
			max-height        : 50px;
			height            : 50px;			
		}
		
		.pagination {
			margin-top     : 15px;
			display        : flex;
			align-items    : center;
			justify-content: center;
			
			list-style     : none;
		}
		
		.pagination .page-item {
			width          : 25px;
			height         : 25px;
			display        : flex;
			align-items    : center;
			justify-content: center;
			margin         : 0 5px;
			font-size      :  14px;
			font-weight    : bold;
		}
		
		.pagination .active {
			color           : #ffffff;
			background-color: #ab1e22;
			border-radius   : 4px;
		}
		
		.pagination .active a {
			color           : #ffffff;
		}
				
		.pagination li.page-item:first-of-type,
		.pagination li.page-item:last-of-type {
			display: none;
		}
		
		.pagination li.control {
			font-size: 24px;
			margin   : 0 10px;
		}
		
		.news_inner_date {
			font-size: 11px;
			font-weight: bold;
			color: #797676;
		}
		
		.news_inner_text {
			font-size: 16px;
			line-height: normal;
			color: #797676;
		}
		
		.news_inner_img {
			margin: 30px 0;
		}
		
		a.red_btn {
			display         : flex;
			align-items     : center;
			max-width       : 150px;
			width           : 100%;
			margin-top      : 15px;
			border          : none;
			font-size       : 12px;
			text-transform  : uppercase;
			background-color: #ab1e22;
			color           : #ffffff;
			padding         : 15px 20px;
			border-radius   : 50px;
		}
		
		.red_btn_icon_back {
			margin-right: 10px;
		}
	/*Новости*/
	
	/*Mobile menu*/
		.mobile_menu_wrap {
			display: none;
			position  : absolute;
			top       : 80px;
			left      : 0;
			width     : 100%;
			height    : calc(100vh - 80px);
			background: #ffffff;
		}
		
		.mobile_menu_wrap .mm_wrap {
			flex-direction: column;
		}
		
		.mobile_menu_wrap .mm_wrap .mm_item,
		.mobile_menu_wrap .mm_wrap .mm_item .navigation-item-link {
			padding: 7.5px 15px;
		}
	/*Mobile menu end*/
/* Footer
-----------------------------------------------------------------------------*/
	.footer {
		box-sizing: border-box;
		border-top: 2px solid #efefef;
		padding   : 70px 0 30px 0;
	}
	
	.footer_logo {
		display: flex;
		margin-bottom: 15px;
	}
	
	.footer_logo img {
		max-width: 100%;
	}
	
	.footer_contacts .ic_icon {
		margin-right: 5px;
	}
	
	.footer_contacts_adress,
	.footer_contacts_phones,
	.footer_contacts_emails {
		margin-bottom: 15px;	
	}
	
	.footer_contacts_phones a,
	.footer_contacts_emails a {
		color: #ab1e22;
		text-decoration: underline;
	}
	
	.footer_contacts_phones a:hover,
	.footer_contacts_emails a:hover {
		text-decoration: none;
	}
	
	.footer_copyrights {
		border-top: 1px solid #ded9d8;
		margin-top: 30px;
		padding   : 30px 0 0px 0;
		text-align: center;
		font-size : 12px;
		color     : #a6a2a2;
	}
/*End Footer*/

/*Прокрутка вверх*/
#top {
	bottom           : 20px;
	cursor           : pointer;
	display          : none;
	font-size        : 150%;
	position         : fixed;
	right            : 20px;
	width            : 44px;
	height           : 44px;
	background-image : url("../images/ic_icon_tap_top_44.png");
	background-repeat: no-repeat;
	background-size  : contain;
}
/*Конец прокрутки вверх*/

/* Стилизация плейсхолдеров */
	::-webkit-input-placeholder { color:#B6B6B6; } 
	::-moz-placeholder          { color:#B6B6B6; }
	:-moz-placeholder           { color:#B6B6B6; }
	:-ms-input-placeholder      { color:#B6B6B6; }

	input[placeholder]          { text-overflow:ellipsis; }
	input::-moz-placeholder     { text-overflow:ellipsis; } 
	input:-moz-placeholder      { text-overflow:ellipsis; } 
	input:-ms-input-placeholder { text-overflow:ellipsis; }  

/*Стилизация скролла*/
	::-webkit-scrollbar {
		width: 6px;
	}

	::-webkit-scrollbar-track {
	  background-color: transparent;
	}

	::-webkit-scrollbar-track-piece {
		background-color: transparent;
	}

	::-webkit-scrollbar-thumb {
		background-color: rgba(255, 255, 255, 0.11);;
		border-radius: 4px;
	}

	::-webkit-scrollbar-thumb:hover {
		background-color: #ab1e22;
		cursor: pointer;
	}

.mobile {
	display: flex;
}

.desctop {
	display: none;
}

/* Media */
	@media (max-width: 1280px) {

	}

	@media (max-width: 1024px) {
		.header_desc_phone {
			font-size: 20px;
		}
	}

	@media (max-width: 768px) {

		.contact_detail {
			width: 100%;
			min-height: calc(100vh - 388px);
		}
	}

	@media (max-width: 767px) {
		.screen {
			padding: 60px 0;
		}
		
		.screen_sm_text_contact {
			flex-direction: column;
		}
		
		.mobile {
			display: none
		}
		
		.desctop {
			display: flex;
		}
		
		.slider_item {
			min-height: 825px;
		}
		
		.about_us_center_title {
			margin-top: 0;
		}
		
		.contact_detail {
			width: 100%;
			min-height: calc(100vh - 388px);
		}
		
		.contact_detail_info {
			padding: 60px 15px;
		}
	}