.invisible_link {
display: block;
visibility: hidden;
height: 0;
}
@media (max-width:1023px) {
	.js-main-page .btn._red {
		padding: 2.1rem;
		font-size: 2.4rem;
		line-height: 2.9rem;
		text-align: center
	}
}

.btn {
	padding: 0;
	border: 0;
	font-size: 1.5rem;
	line-height: 1.8rem;
	background: transparent
}

.btn._clear {
	flex-shrink: 0;
	width: 2.2rem;
	height: 2.2rem
}

.btn._clear svg {
	width: 100%;
	height: 100%;
	transition: fill .3s ease;
	fill: #e0e0e0
}

@media (min-width:1024px) {
	.btn._clear svg:hover {
		fill: #d30422
	}
}

.btn._red {
	padding: 1.5rem;
	border-radius: .5rem;
	color: #fff;
	background-color: #d30422;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .25);
	transition: background-color .3s ease, color .3s ease
}

@media (min-width:1024px) {
	.btn._red:hover {
		color: #d30422;
		background-color: #fff
	}
}

@media (min-width:1024px) {
	.btn._red:hover:active {
		color: #707172;
		background-color: #fff
	}
}

@media (max-width:1023px) {
	.btn._red {
		padding: 1.8rem;
		font-size: 1.5rem;
		line-height: 1.8rem;
		text-align: center
	}
}

.right-arrow {
	display: flex;
	align-items: center
}

.right-arrow._red {
	padding-right: 3rem;
	color: #d30422;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.7rem
}

.right-arrow._red i {
	background-color: #d30422
}

@media (max-width:1023px) {
	.right-arrow._red {
		font-size: 2.4rem;
		line-height: 2.9rem
	}
}

@media (min-width:1024px) {
	.right-arrow._red:hover i {
		background-color: #d30422
	}
}

.right-arrow._underline {
	text-decoration: none
}

@media (max-width:1023px) {
	.right-arrow._underline {
		text-decoration: underline
	}
}

@media (min-width:1024px) {
	.right-arrow._underline:hover {
		text-decoration: underline
	}
}

@media (min-width:1024px) {
	.right-arrow:not(.solutions__arrow):hover {
		color: #d30422
	}

	.right-arrow:not(.solutions__arrow):hover i {
		background-color: #d30422
	}
}

.right-arrow i {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin-right: .8rem;
	border-radius: 50%;
	background-color: #c4c4c4;
	transition: background-color .3s ease
}

.right-arrow i svg {
	width: 40%;
	height: 40%;
	fill: #fff
}

@font-face {
	font-family: RussianRail;
	src: url(../fonts/RussianRail/400.woff2) format("woff2"), url(../fonts/RussianRail/400.woff) format("woff");
	font-style: normal;
	font-weight: 400
}

@font-face {
	font-family: RussianRail;
	src: url(../fonts/RussianRail/500.woff2) format("woff2"), url(../fonts/RussianRail/500.woff) format("woff");
	font-style: normal;
	font-weight: 500
}

@font-face {
	font-family: RussianRail;
	src: url(../fonts/RussianRail/600.woff2) format("woff2"), url(../fonts/RussianRail/600.woff) format("woff");
	font-style: normal;
	font-weight: 600
}

@font-face {
	font-family: FSRailway;
	src: url(../fonts/FSRailway/400.woff2) format("woff2"), url(../fonts/FSRailway/400.woff) format("woff");
	font-style: normal;
	font-weight: 400
}

@font-face {
	font-family: FSRailway;
	src: url(../fonts/FSRailway/600.woff2) format("woff2"), url(../fonts/FSRailway/600.woff) format("woff");
	font-style: normal;
	font-weight: 600
}

*,
:after,
:before {
	box-sizing: border-box;
	outline: none
}

body {
	display: flex;
	flex-direction: column
}

main {
	flex: 1 0 auto
}

.hidden,
[hidden] {
	display: none !important
}

.disabled {
	cursor: default;
	opacity: .33
}

.ovh {
	overflow: hidden
}

.ovx-h,
.ovy-h {
	overflow-x: hidden
}

.file input,
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0)
}

@media (min-width:641px) {
	._from-mobile {
		display: none !important
	}
}

@media (max-width:640px) {
	._mobile-hidden {
		display: none !important
	}
}

body,
html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	margin: 0
}

html {
	font-size: 62.5%
}

@media (min-width:320px) and (max-width:640px) {
	html {
		font-size: calc(6px + 4*(100vw - 320px)/320)
	}
}

@media (min-width:641px) and (max-width:1023px) {
	html {
		font-size: calc(6px + 4*(100vw - 641px)/382)
	}
}

@media (min-width:1024px) and (max-width:1407px) {
	html {
		font-size: calc(7.25px + 2.75*(100vw - 1024px)/383)
	}
}

@media (min-width:1408px) and (max-width:1200px) {
	html {
		font-size: calc(10px + 1.2*(100vw - 1408px)/-208)
	}
}

@media (min-width:3601px) {
	html {
		font-size: 14.5px
	}
}

.transition-disabled * {
	transition: none !important
}

body {
	color: #646566;
	font-size: 2rem;
	font-family: FSRailway, sans-serif;
	line-height: 2.4rem;
	background-color: #f4f4f4
}

@media (max-width:640px) {
	body {
		font-size: 2.4rem;
		line-height: 2.9rem
	}
}

h1,
h2,
h3,
h4 {
	margin: 0;
	font-weight: 400;
	font-family: RussianRail, sans-serif;
	font-style: normal
}

ul {
	margin: 0;
	padding-left: 0;
	list-style-type: none
}

b,
strong {
	font-weight: 700
}

a {
	color: inherit;
	text-decoration: none
}

button,
label {
	cursor: pointer
}

@media (min-width:1024px) {
	a.tel:hover {
		text-decoration: underline
	}
}

h2 {
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.4rem;
	text-transform: uppercase
}

.container {
	position: relative;
	max-width: 132rem;
	padding-right: 3rem;
	padding-left: 4.5rem
}

@media (max-width:1023px) {
	.container {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

@media (min-width:1024px) {
	.container:hover .container__title h2 {
		color: #d30422
	}
}

.container__title {
	position: absolute;
	top: -4.5rem;
	left: -4.5rem;
	display: flex;
	align-items: center;
	height: 9rem;
	transform: rotate(90deg);
	transform-origin: left
}

@media (max-width:1023px) {
	.container__title {
		position: relative;
		top: auto;
		left: auto;
		height: auto;
		padding-left: .8rem;
		transform: none
	}
}

.container__title h2 {
	margin: 0;
	font-weight: 500;
	transform: rotate(-180deg);
	cursor: default;
	transition: color .3s ease
}

@media (max-width:1023px) {
	.container__title h2 {
		padding: 2.4rem 0;
		font-size: 2rem;
		line-height: 2.4rem;
		transform: none
	}
}

.container__title svg {
	width: 3rem;
	height: 1.5rem;
	transform: rotate(-90deg)
}

.container__slider {
	position: relative;
	margin: 0 -3rem 0 -4.5rem;
	padding: 0 3rem 0 4.5rem;
	overflow-x: hidden
}

@media (max-width:1023px) {
	.container__slider {
		margin: 0;
		padding: 0
	}
}

.container__slider.media-slider__container:after,
.container__slider.media-slider__container:before {
	display: none
}

.container__slider:after,
.container__slider:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -1px;
	z-index: 4;
	width: 7rem;
	background: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #f4f4f4 78.94%);
	transform: matrix(-1, 0, 0, 1, 0, 0);
	content: ""
}

@media (max-width:1023px) {

	.container__slider:after,
	.container__slider:before {
		display: none
	}
}

.container__slider:after {
	right: -1px;
	bottom: 0;
	left: auto;
	color: transparent;
	text-indent: 100px;
	transform: none;
	content: "flickity"
}

@media (max-width:1023px) {
	.container__slider:after {
		width: 3px;
		background-color: #f4f4f4;
		content: ""
	}
}

.container-sm {
	position: relative;
	width: 73.5rem;
	margin: 0 auto
}

@media (max-width:1023px) {
	.container-sm {
		width: 100%;
		margin-left: 0
	}
}

@media (max-width:640px) {
	.container-sm {
		width: 100%
	}
}

.page {
	display: flex;
	max-width: 151rem;
	min-height: 100vh;
	overflow: hidden
}

.page__sidebar {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	align-items: center;
	width: 9rem;
	background-color: #fff
}

@media (max-width:1023px) {
	.page__sidebar {
		display: none
	}
}

.page__container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	max-width: calc(100vw - 9rem)
}

@media (max-width:1023px) {
	.page__container {
		max-width: 100vw
	}
}

.page__content {
	max-width: 132rem;
	padding-right: 3rem;
	padding-left: 4.5rem;
	position: relative;
	margin-bottom: 10rem
}

@media (max-width:1023px) {
	.page__content {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

@media (max-width:1023px) {
	.page__content._with-sidebar .container-sm {
		width: calc(100% - 24rem)
	}
}

@media (max-width:640px) {
	.page__content._with-sidebar .container-sm {
		width: 100%
	}
}

.page__description {
	position: relative;
	max-width: 132rem;
	padding-right: 3rem;
	padding-left: 4.5rem;
	display: flex;
	align-items: flex-end;
	margin-bottom: 3.5rem
}

@media (max-width:1023px) {
	.page__description {
		padding-right: 3rem;
		padding-left: 3rem;
		flex-direction: column;
		align-items: flex-start
	}
}

.page__description p {
	width: 99rem;
	margin: 0 3rem 0 0
}

@media (max-width:1023px) {
	.page__description p {
		width: 100%;
		margin-right: 0;
		margin-bottom: 3.7rem;
		font-size: 2rem;
		line-height: 2.4rem
	}
}

.page__description a {
	width: 22.5rem
}

@media (max-width:1023px) {
	.page__description a {
		width: 100%
	}
}

.page__title {
	position: relative;
	max-width: 132rem;
	padding-right: 3rem;
	padding-left: 4.5rem;
	margin-bottom: 2.7rem;
	overflow-x: hidden;
	overflow-y: visible
}

@media (max-width:1023px) {
	.page__title {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

@media (min-width:1024px) {
	.page__title:after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 3rem;
		background-color: #f4f4f4;
		content: ""
	}
}

@media (max-width:640px) {
	.page__title {
		margin-top: 4rem;
		overflow: hidden
	}
}

/*.page__title._projects{position:absolute;top:3rem;left:0;width:100%}*/
@media (max-width:640px) {
	.page__title._projects {
		top: 0
	}
}

.page__title._projects h1 {
	z-index: 1
}

.page__title._projects:after,
.page__title._projects h1:after {
	display: none
}

.page__title h1 {
	position: relative;
	display: inline-block;
	max-width: calc(100% - 25.5rem);
	color: #d30422;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.2;
	text-transform: uppercase
}

@media (min-width:1024px) {
	.page__title h1:after {
		position: absolute;
		top: .8rem;
		left: calc(100% + 2rem);
		width: 136rem;
		height: 1px;
		background-color: #c4c4c4;
		content: ""
	}
}

@media (max-width:1023px) {
	.page__title h1 {
		width: 100%;
		max-width: 100%
	}
}

.page__parent {
	font-weight: 700;
	font-size: 1.5rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.8rem;
	text-transform: uppercase
}

@media (min-width:1024px) {
	.page__parent {
		position: relative;
		display: inline-block;
		width: auto
	}

	.page__parent:after {
		position: absolute;
		top: .4rem;
		left: calc(100% + 2rem);
		width: 136rem;
		height: 1px;
		background-color: #c4c4c4;
		content: ""
	}
}

.page__parent~h1 {
	display: block
}

.page__parent~h1:after {
	display: none
}

@media (max-width:1023px) {
	.page__nav-wrap .container__title {
		display: none
	}
}

.page__nav {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 3rem;
	margin-bottom: 4rem;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.page__nav {
		display: block;
		width: auto
	}
}

@media (max-width:640px) {
	.page__nav {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-right: -2.5rem;
		margin-bottom: 3rem
	}

	.page__nav a {
		margin-right: 2rem;
		margin-bottom: .2rem;
		padding-left: .6rem;
		white-space: nowrap
	}
}

.page__nav a {
	display: inline-block;
	margin-right: 2.5rem;
	color: #d30422;
	font-size: 1.4rem;
	line-height: 1.7rem;
	text-decoration: underline
}

@media (max-width:1023px) {
	.page__nav a {
		font-size: 2rem;
		line-height: 3rem
	}
}

.page__nav a._active {
	padding: .4rem 1.5rem;
	color: #fff;
	background-color: #d30422
}

@media (max-width:640px) {
	.page__nav a._active {
		padding: .2rem .6rem
	}
}

#js-footer {
	height: auto;
	visibility: visible;
	opacity: 1
}

#js-footer._enter-to {
	height: 0;
	padding: 0 !important;
	visibility: hidden;
	opacity: 0
}

#js-footer._leave {
	visibility: visible;
	opacity: 1
}

@media (max-width:1023px) {
	.js-footer-mobile {
		height: auto;
		visibility: visible;
		opacity: 1
	}

	.js-footer-mobile._enter-to {
		height: 0;
		padding: 0 !important;
		visibility: hidden;
		opacity: 0
	}

	.js-footer-mobile._leave {
		visibility: visible;
		opacity: 1
	}
}

.footer {
	position: relative;
	max-width: 132rem;
	padding: 1.5rem 3rem 10rem 4.5rem;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.7rem
}

@media (max-width:1023px) {
	.footer {
		padding-right: 3rem;
		padding-left: 3rem;
		display: none
	}
}

.footer._footer-mobile {
	display: none;
	padding-top: 3.5rem;
	color: #646566;
	font-size: 2.4rem;
	line-height: 2.9rem;
	background-color: #fff
}

@media (max-width:1023px) {
	.footer._footer-mobile {
		display: block
	}
}

.footer._footer-mobile .footer__title {
	margin-bottom: 1.5rem;
	padding-bottom: 0;
	border-bottom: 0
}

.footer._footer-mobile .footer__col {
	width: 100%
}

@media (max-width:1023px) {
	.footer._footer-mobile .footer__col {
		margin-right: 0
	}
}

@media (max-width:640px) {
	.footer._footer-mobile .footer__col {
		width: 80%
	}
}

.footer._footer-mobile .footer__container {
	width: 50%
}

@media (max-width:640px) {
	.footer._footer-mobile .footer__container {
		width: 100%
	}
}

.footer._footer-mobile .footer__items {
	display: flex
}

@media (max-width:640px) {
	.footer._footer-mobile .footer__items {
		display: block
	}
}

.footer._footer-mobile .footer__item {
	margin-bottom: 1.5rem;
	padding-right: 3rem
}

.footer._footer-mobile .footer__item._soc {
	padding-right: 0
}

.footer._footer-mobile .footer__item .right-arrow i {
	width: 6rem;
	height: 6rem;
	margin-right: 1.2rem
}

.footer._footer-mobile .footer__contact {
	font-size: 2.4rem;
	line-height: 2.9rem
}

.footer._footer-mobile .footer__soc {
	width: 6rem;
	height: 6rem;
	margin-top: 2rem;
	margin-right: 1rem
}

.footer._footer-menu {
	font-size: 1.4rem;
	line-height: 1.7rem
}

@media (min-width:1024px) {

	.footer._footer-menu a.footer__item:hover,
	.footer._footer-menu a.footer__title:hover {
		color: #707172;
		text-decoration: underline
	}
}

.footer._footer-menu a.footer__title {
	padding-bottom: 0;
	border-bottom: 0;
	color: #707172;
	font-weight: 700
}

.footer._footer-menu .footer__row {
	margin-right: -6rem;
	margin-left: -1px;
	overflow-x: hidden
}

.footer._footer-menu .footer__col {
	position: relative;
	margin-bottom: 4rem
}

.footer._footer-menu .footer__col:after {
	position: absolute;
	top: 0;
	left: -1.5rem;
	width: 1px;
	height: 100%;
	background-color: #b0b7bc;
	content: ""
}

.footer._footer-menu .footer__items {
	position: relative
}

.footer._footer-menu .footer__contacts .footer__items {
	display: flex;
	flex-direction: column
}

.footer._footer-menu .footer__contact {
	font-size: 1.6rem;
	line-height: 1.9rem
}

.footer__row {
	display: flex
}

.footer__row._solutions .footer__col:after {
	display: none
}

.footer__col {
	display: flex;
	flex-direction: column;
	width: 22.5rem;
	margin-right: 3rem
}

.footer__col._contacts {
	display: flex;
	width: 73.5rem;
	margin-right: 0
}

.footer__col._contacts .footer__items {
	flex-direction: column;
	width: 22.5rem;
	margin-right: 3rem
}

.footer__col._double {
	width: 48rem
}

.footer__col._double .footer__items {
	-moz-column-count: 2;
	column-count: 2;
	-moz-column-gap: 3rem;
	column-gap: 3rem
}

.footer__col._triple {
	width: 73.5rem
}

.footer__col._triple .footer__item {
	width: 22.5rem;
	margin-right: 3rem
}

.footer__contacts {
	display: flex;
	justify-content: space-between
}

.footer__title {
	margin-bottom: 2.4rem;
	padding-bottom: 2.4rem;
	border-bottom: 1px solid #c9c9c9;
	text-transform: uppercase
}

.footer a.footer__item,
.footer a.footer__title {
	transition: color .3s ease
}

@media (min-width:1024px) {

	.footer a.footer__item:hover,
	.footer a.footer__title:hover {
		color: #d30422;
		text-decoration: underline
	}
}

.footer__item {
	display: block;
	margin-bottom: 2rem;
	word-wrap: break-word
}

.footer__item:last-child {
	margin-bottom: 0
}

.footer__contact {
	display: block;
	font-size: 1.8rem;
	line-height: 2.2rem
}

@media (min-width:1024px) {
	.footer__contact:hover {
		text-decoration: underline
	}
}

.footer__soc {
	display: inline-block;
	width: 3rem;
	height: 3rem;
	margin-right: .5rem
}

.footer__soc svg {
	width: 100%;
	height: 100%;
	transition: fill .3s ease;
	fill: #c4c4c4
}

@media (min-width:1024px) {
	.footer__soc svg:hover {
		fill: #d30422
	}
}

.header {
	position: relative;
	max-width: 132rem;
	z-index: 11;
	margin-bottom: 3rem;
	padding: 3rem 3rem .5rem 4.5rem;
	font-size: 1.2rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.4rem
}

@media (max-width:1023px) {
	.header {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

.header._menu-opened .header__nav {
	visibility: hidden;
	opacity: 0
}

@media (max-width:1023px) {
	.header {
		margin-bottom: 3rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
		background-color: #fff
	}
}

.header__menu-search {
	width: 2rem;
	height: 3.4rem;
	margin-left: 2rem
}

.header__menu-search._menu-opened svg {
	stroke: #d30422
}

.header__menu-search svg {
	width: 100%;
	height: 100%;
	stroke: #707172
}

.header__menu-btn {
	position: absolute;
	top: 3rem;
	left: -6rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 3rem;
	height: 4rem
}

@media (max-width:1023px) {
	.header__menu-btn {
		position: relative;
		top: auto;
		left: auto;
		margin-right: 4.5rem
	}
}

.header__menu-btn._menu-opened {
	align-items: center
}

.header__menu-btn._menu-opened i:first-child {
	width: 2.4rem;
	margin-bottom: 0;
	transform: rotate(45deg) translateY(2px)
}

.header__menu-btn._menu-opened i:last-child {
	width: 2.4rem;
	transform: rotate(-45deg) translateY(-1px)
}

.header__menu-btn i {
	display: block;
	height: 2px;
	border-radius: 4px;
	background-color: #d30422;
	transition: transform .3s ease
}

.header__menu-btn i:first-child {
	width: 3rem;
	margin-bottom: .4rem
}

.header__menu-btn i:last-child {
	width: 2.2rem
}

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

@media (max-width:1023px) {
	.header__wrap {
		justify-content: flex-start
	}

	.header__wrap .header__nav,
	.header__wrap .header__right>:not(.header__language) {
		display: none
	}
}

.header__left {
	margin-right: 4.2rem
}

.header__logos {
	display: flex
}

.header__logo {
	margin-right: 4.2rem;
	margin-left: -.4rem
}

.header__slogan {
	display: flex;
	flex-direction: column;
	justify-content: center
}

.header__word {
	display: flex;
	color: #707172;
	font-size: 1.8rem;
	line-height: 2.2rem;
	text-transform: uppercase
}

html._en .header__word:nth-child(2) {
	margin-left: 3px
}

@media (max-width:640px) {
	html._en .header__word:nth-child(2) {
		margin-left: 2px
	}
}

.header__capital-letter {
	font-weight: 700
}

.header__letter {
	opacity: 1
}

.header__logo,
.header__slogan {
	width: 12rem;
	height: 6rem
}

.header__logo img,
.header__slogan img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: left;
	object-position: left
}

.header__nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	padding: 1.5rem 0;
	visibility: visible;
	opacity: 1;
	transition: opacity .5s ease, visibility .5s ease
}

.header__nav>a {
	margin-right: 2.9rem;
	padding: .5rem .8rem;
	color: #d30422;
	font-weight: 500;
	text-transform: uppercase
}

.header__nav>a._active {
	color: #fff;
	text-decoration: none;
	background-color: #d30422
}

@media (min-width:1024px) {
	.header__nav>a:hover:not(._active) {
		text-decoration: underline
	}
}

.header__nav>a:last-child {
	margin-right: 0
}

.header__right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 22.5rem;
	margin-left: 3rem;
	font-weight: 500
}

@media (max-width:1023px) {
	.header__right {
		margin-left: auto
	}
}

.header__language {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 3.4rem;
	height: 3.4rem;
	margin-left: 1.7rem;
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.4rem
}

@media (max-width:1023px) {
	.header__language {
		font-size: 1.6rem
	}
}

.main {
	height: auto;
	visibility: visible;
	opacity: 1;
	transition: opacity .5s ease, visibility .5s ease
}

.main._enter-to {
	height: 0;
	visibility: hidden;
	opacity: 0
}

.main._leave {
	visibility: visible;
	opacity: 1
}

.main .lifecycle {
	display: flex;
	padding-bottom: 3.6rem;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.main .lifecycle {
		margin: 0 -7rem;
		padding-bottom: 0
	}

	.main .lifecycle .container__title {
		position: absolute;
		top: 0;
		left: 10rem;
		width: 100%;
		height: auto
	}
}

@media (max-width:640px) {
	.main .lifecycle {
		flex-direction: column;
		margin: 0;
		padding-bottom: 1.8rem
	}

	.main .lifecycle .container__title {
		position: relative;
		top: auto;
		left: auto
	}
}

.main .lifecycle__scheme {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 73.5rem;
	margin-right: 3rem
}

@media (max-width:1023px) {
	.main .lifecycle__scheme {
		justify-content: flex-start;
		width: 100%;
		height: 25.4rem;
		margin: 7rem 0 0;
		padding-left: 2.5rem
	}
}

@media (max-width:640px) {
	.main .lifecycle__scheme {
		margin: 0
	}
}

.main .lifecycle__circle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22.4rem;
	height: 22.4rem;
	border-radius: 50%;
	background-color: #fff
}

.main .lifecycle__circle-train {
	position: absolute;
	top: calc(50% - 1.6rem);
	left: calc(50% - 7.5rem);
	z-index: 2;
	width: 15rem;
	height: 3.2rem;
	transform: rotate(-117deg) translate(11.3rem) rotate(450deg);
	transform-origin: center
}

@media (max-width:1023px) {
	.main .lifecycle__circle-train {
		display: none
	}
}

.main .lifecycle__circle-items {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%
}

.main .lifecycle__circle-item {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 50%;
	height: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity .4s ease
}

.main .lifecycle__circle-item._active {
	opacity: 1
}

.main .lifecycle__circle-item svg {
	width: 100%;
	height: 100%;
	stroke: #d30422
}

.main .lifecycle__circle-controls {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% + 3rem);
	height: calc(100% + 3rem);
	transform: translate(-50%, -50%)
}

.main .lifecycle__circle-controls .progress-ring {
	width: 100%;
	height: 100%;
	overflow: visible
}

.is-ie .main .lifecycle__circle-controls .progress-ring {
	transform: rotate(-90deg);
	transform-origin: center center
}

.main .lifecycle__circle-controls .progress-ring__progress {
	transform: rotate(-90deg);
	transform-origin: center center;
	stroke-dasharray: 12, 11;
	stroke-linecap: round;
	stroke: #d30422
}

@media (max-width:1023px) {
	.main .lifecycle__circle-controls .progress-ring__progress {
		display: none
	}
}

.main .lifecycle__circle-controls .progress-ring__progress:not([style]) {
	opacity: 0
}

.main .lifecycle__circle-controls .progress-ring__circle {
	transform: rotate(-90deg);
	transform-origin: center center;
	stroke: #c4c4c4
}

.main .lifecycle__circle-controls .progress-ring__mask {
	stroke-dasharray: 798;
	stroke-dashoffset: -100;
	transform-origin: center
}

.main .lifecycle__circle-dots {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0
}

@media (max-width:1023px) {
	.main .lifecycle__circle-dots {
		transform: rotate(45deg)
	}
}

.main .lifecycle__circle-dot {
	position: absolute;
	top: 50%;
	left: 50%;
	width: .8rem;
	height: .8rem;
	margin: -.4rem;
	border-radius: 50%;
	background: #c8c8c8;
	transition: background-color .4s ease
}

@media (max-width:1023px) {
	.main .lifecycle__circle-dot._active {
		background-color: #d30422
	}
}

.main .lifecycle__circle-dot:first-child>* {
	top: auto;
	bottom: 50%;
	left: 50%;
	margin: 2.5rem 0;
	transform: translate(-50%, 50%)
}

.main .lifecycle__circle-dot._left>* {
	right: 0;
	left: auto
}

.main .lifecycle__circle-btn {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	margin: 0 2.5rem;
	white-space: nowrap;
	text-transform: uppercase;
	transform: translateY(-50%);
	transform-origin: center;
	cursor: pointer;
	transition: color .3s ease
}

@media (max-width:1023px) {
	.main .lifecycle__circle-btn {
		display: none
	}
}

.main .lifecycle__circle-btn>span {
	position: relative
}

.main .lifecycle__circle-btn._active {
	color: #d30422
}

.main .lifecycle__mobile {
	display: none
}

@media (max-width:1023px) {
	.main .lifecycle__mobile {
		display: block
	}
}

.main .lifecycle__mobile-btns {
	position: relative;
	margin-left: 3rem
}

.main .lifecycle__mobile-btn {
	position: absolute;
	top: 50%;
	left: 0;
	display: flex;
	color: #d30422;
	font-size: 2rem;
	line-height: 2.4rem;
	text-transform: uppercase;
	transform: translateY(-50%);
	opacity: 0;
	transition: opacity .3s ease
}

@media (max-width:360px) {
	.main .lifecycle__mobile-btn {
		font-size: 1.6rem
	}
}

.main .lifecycle__mobile-btn._active {
	opacity: 1
}

.main .lifecycle__red-btn {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: none;
	white-space: nowrap;
	transform: translate(-50%, 50%)
}

@media (max-width:1023px) {
	.main .lifecycle__red-btn {
		display: block
	}
}

.main .lifecycle__geo {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 48rem;
	height: 32rem;
	padding-top: 3.5rem;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.main .lifecycle__geo {
		flex-shrink: 0;
		width: 57rem;
		height: 37.3rem;
		margin-top: 4rem;
		padding-top: 7.5rem
	}
}

@media (max-width:640px) {
	.main .lifecycle__geo {
		width: 100%;
		margin-top: 8rem
	}
}

.main .lifecycle__map {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%
}

.main .lifecycle__map img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain
}

.main .lifecycle__items {
	display: flex;
	width: 100%;
	margin-bottom: 2.6rem
}

@media (max-width:1023px) {
	.main .lifecycle__items {
		justify-content: center;
		margin-bottom: 3.4rem
	}
}

@media (max-width:640px) {
	.main .lifecycle__items {
		margin-bottom: 2.6rem
	}
}

.main .lifecycle__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 14rem;
	padding: 0 2rem;
	cursor: default
}

.main .lifecycle__item:first-child {
	border-right: 1px solid #707172
}

.main .lifecycle__item-title {
	color: #d30422;
	font-weight: 700;
	font-size: 9.6rem;
	line-height: 7.5rem
}

.main .lifecycle__item-subtitle {
	font-size: 1.5rem
}

@media (max-width:1023px) {
	.main .lifecycle__item-subtitle {
		margin-top: 1rem;
		margin-bottom: -1rem;
		font-size: 2.4rem;
		line-height: 2.9rem
	}
}

.main .news-main__slider {
	padding-bottom: 6rem;
	padding-left: 6rem
}

@media (max-width:1023px) {
	.main .news-main__slider {
		display: flex;
		padding: 0 0 6.5rem
	}
}

@media (max-width:640px) {
	.main .news-main__slider {
		display: block
	}
}

.main .news-main__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 48rem;
	margin-right: 3rem;
	padding-top: 4.6rem
}

@media (max-width:1023px) {
	.main .news-main__item {
		display: none;
		width: 100%;
		padding-top: 3rem
	}

	.main .news-main__item:before {
		display: none
	}
}

.main .news-main__item:before {
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: calc(100% + 3rem);
	height: 2px;
	background-color: #707172;
	content: ""
}

.main .news-main__item._relevant {
	display: flex
}

.main .news-main__item._relevant .news-main__head:before {
	box-shadow: inset 0 0 0 .75rem #f4f4f4, inset 0 8rem 0 #4db344
}

.main .news-main__item:last-child {
	margin-right: 0
}

.main .news-main__item:last-child:before {
	width: 500%
}

.main .news-main__head {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 1.6rem;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1
}

@media (max-width:1023px) {
	.main .news-main__head {
		font-size: 2rem;
		line-height: 2.4rem
	}

	.main .news-main__head:before {
		display: none
	}
}

.main .news-main__head:before {
	position: absolute;
	top: -3rem;
	left: -1.5rem;
	width: 3rem;
	height: 3rem;
	border: 2px solid #707172;
	border-radius: 50%;
	box-shadow: inset 0 0 0 .75rem #f4f4f4, inset 0 8rem 0 #d30422;
	transform: translateY(-50%);
	content: ""
}

.main .news-main__head p {
	margin: 0
}

.main .news-main__date {
	margin-right: 1rem;
	font-weight: 500;
	cursor: default
}

.main .news-main__tag {
	padding: .4rem .6rem;
	background-color: #f6ff8b
}

.main .news-main__title {
	width: 100%;
	font-size: 2rem;
	font-family: FSRailway, sans-serif;
	line-height: 2.4rem
}

@media (max-width:1023px) {
	.main .news-main__title {
		font-size: 2.4rem;
		line-height: 2.9rem
	}
}

@media (min-width:1024px) {
	.main .news-main__title a:hover {
		text-decoration: underline
	}
}

@media (max-width:1023px) {
	.main .news-main__title a {
		text-decoration: underline
	}
}

.main .partners {
	margin-top: 6.5rem
}

@media (max-width:1023px) {
	.main .partners {
		margin-top: 0
	}

	.main .partners:before {
		display: none
	}
}

.main .partners:before {
	position: absolute;
	top: -6.5rem;
	right: 3rem;
	left: 4.5rem;
	height: 1px;
	background-color: #c9c9c9;
	content: ""
}

.main .partners__slider {
	padding: 0 3rem 10rem 4.5rem
}

@media (max-width:1023px) {
	.main .partners__slider {
		padding: 2.3rem 0 8.4rem
	}
}

.main .partners__slider:before {
	display: none
}

.main .partners__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22.5rem;
	height: 12rem;
	margin-right: 3rem
}

@media (max-width:1023px) {
	.main .partners__item {
		width: 20%;
		margin-right: 0
	}
}

@media (max-width:640px) {
	.main .partners__item {
		width: calc(33.3% + 1px);
		margin-right: 0
	}
}

.main .partners__item:after {
	position: absolute;
	top: 0;
	right: -1.5rem;
	width: 1px;
	height: 100%;
	background-color: #c9c9c9;
	content: ""
}

@media (max-width:1023px) {
	.main .partners__item:after {
		right: 1px
	}
}

.main .partners__img {
	width: 10rem;
	height: 10rem
}

.main .partners__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain
}

.flickity-prev-next-button {
	position: fixed;
	top: 50%;
	z-index: 5;
	width: 6rem;
	height: 6rem;
	border: 0;
	border-radius: 50%;
	background-color: rgba(112, 113, 114, .6);
	opacity: 0;
	transition: opacity .25s ease, visibility .25s ease
}

.flickity-prev-next-button[disabled] {
	visibility: hidden !important
}

.flickity-prev-next-button.previous {
	left: 0
}

.flickity-prev-next-button.previous:before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 1.8rem;
	height: 1.5rem;
	background-image: url(../i/arrow-right-white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translate(-50%, -50%) rotate(180deg);
	content: ""
}

.flickity-prev-next-button.next {
	right: 0
}

.flickity-prev-next-button.next:before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 1.8rem;
	height: 1.5rem;
	background-image: url(../i/arrow-right-white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translate(-50%, -50%);
	content: ""
}

.flickity-button-icon {
	display: none
}

.flickity-page-dots {
	display: flex;
	justify-content: center;
	margin: 4.2rem 0 0;
	padding: 0
}

.flickity-page-dots li {
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: #ccc
}

.flickity-page-dots li:not(:last-child) {
	margin-right: 1.8rem
}

.flickity-page-dots li:only-child {
	display: none
}

.flickity-page-dots li.is-selected {
	background-color: #707172
}

.autocomplete-suggestion {
	display: flex
}

.slider-arrow-area {
	position: absolute;
	top: 0;
	z-index: 10;
	width: 15%;
	height: 100%;
	outline: 0;
	cursor: none
}

@media (max-width:1023px) {
	.slider-arrow-area {
		display: none
	}
}

.slider-arrow-area._disabled {
	visibility: hidden;
	cursor: default
}

.slider-arrow-area._prev {
	left: 0
}

.slider-arrow-area._next {
	right: 0
}

.menu-wrap {
	z-index: 10;
	display: none;
	width: 100%;
	min-height: 100vh;
	background-color: #f4f4f4;
	visibility: hidden;
	opacity: 0;
	transition: opacity .5s ease, visibility .5s ease
}

.menu-wrap._enter,
.menu-wrap._enter-to,
.menu-wrap._leave {
	display: flex
}

.menu-wrap._enter-to {
	visibility: visible;
	opacity: 1
}

.menu-wrap._leave {
	visibility: hidden;
	opacity: 0
}

.menu {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	max-width: calc(100vw - 9rem)
}

@media (max-width:1023px) {
	.menu {
		max-width: 100%
	}

	.menu .solutions {
		display: none
	}
}

.menu-mobile {
	display: none;
	color: #707172;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.menu-mobile {
		display: block
	}
}

.menu-mobile__items {
	position: relative;
	max-width: 132rem;
	display: flex;
	flex-direction: column;
	padding: 4.5rem 3rem 0 0;
	background-color: #fff
}

@media (max-width:1023px) {
	.menu-mobile__items {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

.menu-mobile__items:first-child {
	padding-bottom: 4.5rem;
	background-color: #f4f4f4
}

.menu-mobile__items:first-child .menu-mobile__item {
	color: #d30422
}

.menu-mobile__items:first-child .menu-mobile__title {
	text-decoration: none
}

.menu-mobile__item {
	margin-bottom: 2rem;
	padding-right: 3rem;
	text-decoration: underline
}

.menu-mobile__title {
	margin-bottom: 3rem;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 2.4rem;
	text-transform: uppercase;
	text-decoration: underline
}

.menu-mobile .footer__contacts {
	position: relative;
	max-width: 132rem;
	padding: 1rem 0 6rem;
	font-size: 2.4rem;
	line-height: 2.4rem;
	background-color: #fff
}

@media (max-width:1023px) {
	.menu-mobile .footer__contacts {
		padding-right: 3rem;
		padding-left: 3rem
	}
}

.menu-mobile .footer__contacts .footer__item {
	display: flex
}

.menu-mobile .footer__contacts .footer__item>span {
	display: block;
	margin-right: 1rem
}

.menu-mobile .footer__contacts .footer__item .right-arrow i {
	width: 6rem;
	height: 6rem;
	margin-right: 1.2rem
}

.menu-mobile .footer__contacts .footer__contact {
	font-size: 2.4rem;
	line-height: 2.4rem
}

.menu-mobile .footer__contacts .footer__soc {
	width: 6rem;
	height: 6rem;
	margin-top: 2rem;
	margin-right: 1rem
}

.js-main-page .header__letter {
	opacity: 0
}

.js-main-page .header__letter._active {
	opacity: 1;
	transition: opacity .5s ease
}

.js-main-page .solutions__item {
	opacity: 0;
	transition-duration: .4s;
	transition-property: opacity
}

.js-main-page .solutions__item:nth-child(0) {
	transition-delay: 0ms
}

.js-main-page .solutions__item:first-child {
	transition-delay: .2s
}

.js-main-page .solutions__item:nth-child(2) {
	transition-delay: .4s
}

.js-main-page .solutions__item:nth-child(3) {
	transition-delay: .6s
}

.js-main-page .solutions__item:nth-child(4) {
	transition-delay: .8s
}

.js-main-page .solutions__item:nth-child(5) {
	transition-delay: 1s
}

.js-main-page .solutions__item._visible {
	opacity: 1
}

.menu__solutions .solutions__items:after {
	display: none;
	content: ""
}

.solutions._collapse .solutions__item {
	height: auto
}

@media (max-width:1023px) {
	.solutions._collapse .solutions__item {
		min-height: 10rem
	}
}

.solutions__items {
	display: flex;
	margin: 0 -3rem 2rem -4.5rem;
	padding: 0 0 2.5rem 3rem
}

@media (max-width:1023px) {
	.solutions__items {
		display: block;
		margin: 0;
		padding: 0 0 1.2rem
	}

	.solutions__items:after {
		display: none;
		content: "flickity"
	}
}

.solutions__item {
	position: relative;
	width: 24rem;
	height: 24rem;
	border-radius: .5rem;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .25)
}

@media (max-width:1023px) {
	.solutions__item {
		width: 40rem;
		height: 40rem
	}
}

@media (min-width:1024px) {
	.solutions__item:hover .solutions__arrow {
		opacity: 1
	}

	.solutions__item:hover .solutions__title {
		color: #d30422;
		text-decoration: underline
	}
}

.solutions__item._active {
	color: #fff;
	background-color: #d30422
}

@media (min-width:1024px) {
	.solutions__item._active:hover .solutions__title {
		color: #fff
	}
}

.solutions__item:not(:last-child) {
	margin-right: 1.5rem
}

.solutions__item canvas {
	position: relative
}

.solutions__title {
	position: relative;
	z-index: 2;
	padding: 1.5rem;
	font-size: 1.5rem;
	line-height: 1.8rem;
	transition: color .3s ease
}

@media (max-width:1023px) {
	.solutions__title {
		padding: 2.5rem 2.5rem 1.7rem;
		font-size: 2.4rem;
		line-height: 2.9rem
	}
}

.solutions__anim {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition-duration: .4s;
	transition-property: opacity
}

.solutions__anim._visible {
	opacity: 1
}

.solutions__anim img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.solutions__video {
	width: 101%
}

.solutions__arrow {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	z-index: 2;
	opacity: 0;
	transition: opacity .3s ease
}

.solutions__arrow i {
	background-color: #fff
}

.solutions__arrow i svg {
	fill: #d30422
}

.search-wrap {
	margin-top: 4rem;
	padding-bottom: 5.4rem
}

@media (max-width:1023px) {
	.search-wrap {
		padding-bottom: 0
	}
}

@media (max-width:640px) {
	.search-wrap {
		margin-top: 0
	}
}

.search {
	width: calc(100% + 1.5rem);
	margin-left: -1.5rem;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.search {
		display: flex;
		flex-direction: row-reverse;
		width: 100%;
		margin-left: 0
	}
}

.search__field-wrap {
	position: relative;
	width: 100%;
	background: transparent
}

.search__field {
	position: relative;
	height: 6rem;
	border-bottom: 2px solid #b8b8b9;
	font-size: 3.2rem;
	line-height: 3.9rem
}

.search__field._filled>label,
.search__field._focused>label {
	opacity: 0
}

.search__field._error {
	border-bottom: 2px solid #d30422
}

.search__field input {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	color: #929292;
	background-color: transparent
}

.search__field label {
	position: absolute;
	top: 50%;
	left: 1.5rem;
	z-index: 1;
	color: #929292;
	letter-spacing: -.05em;
	transform: translateY(-50%);
	transition: transform .25s ease, opacity .25s ease;
	pointer-events: none
}

.search__results {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 11;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0 1.7rem;
	border-radius: 0 0 4px 4px;
	color: #898989;
	font-size: 1.6rem;
	line-height: 1.9rem;
	background-color: #fff;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .25)
}

.search__results a {
	position: relative;
	padding: 2rem 0
}

@media (min-width:1024px) {

	.search__results a:hover,
	.search__results a:hover span {
		text-decoration: underline
	}
}

.search__results a span {
	position: absolute;
	top: 50%;
	left: 63%;
	display: flex;
	align-items: center;
	color: #b8b8b9;
	transform: translateY(-50%)
}

.search__results a span:before {
	width: 2rem;
	height: 1rem;
	margin-right: .8rem;
	background: url(../i/arrow-right-long.svg) no-repeat 50%;
	content: ""
}

.text-block._lg {
	width: calc(100% + 25.5rem)
}

@media (max-width:1023px) {
	.text-block._lg {
		width: 100%
	}
}

.text-block._lg .double-photo,
.text-block._lg img {
	width: 100%
}

.text-block>* {
	page-break-inside: avoid;
	-moz-column-break-inside: avoid;
	break-inside: avoid-column
}

.text-block h2 {
	margin: 2rem 0;
	font-weight: 700;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem;
	text-transform: uppercase;
	transition: color .3s ease
}

@media (max-width:640px) {
	.text-block h2 {
		margin: 3rem 0
	}
}

.text-block h2~h3 {
	margin-top: -2rem
}

.text-block h2._active {
	color: #d30422
}

.text-block a[name] {
	display: none
}

.text-block h3 {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem
}

.text-block>p {
	margin: 2rem 0
}

.text-block>p:first-of-type {
	margin-top: 0
}

.text-block>p:last-child {
	margin-bottom: 0
}

.text-block>p>a {
	color: #d30422;
	text-decoration: underline
}

.text-block iframe:not([class]) {
	width: 100%;
	height: 39rem;
	margin: 2rem 0
}

@media (max-width:1023px) {
	.text-block iframe:not([class]) {
		height: 51.5rem
	}
}

@media (max-width:640px) {
	.text-block iframe:not([class]) {
		height: 33rem
	}
}

.text-block iframe:not([class]):last-child {
	margin-bottom: 0
}

.text-block>img:not([class]) {
	border-radius: .5rem;
	-o-object-fit: cover;
	object-fit: cover;
	overflow: hidden
}

.text-block .double-photo,
.text-block img {
	display: block;
	width: calc(100% + 25.5rem);
	margin: 2rem 0
}

.text-block .double-photo:last-of-type,
.text-block img:last-of-type {
	margin-bottom: 0
}

@media (max-width:1023px) {

	.text-block .double-photo,
	.text-block img {
		width: 100%
	}
}

.text-block .double-photo {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 2rem 0
}

@media (max-width:640px) {
	.text-block .double-photo {
		flex-direction: column
	}
}

.text-block .double-photo img {
	width: 48rem;
	margin: 0;
	border-radius: .5rem;
	-o-object-fit: cover;
	object-fit: cover;
	overflow: hidden;
	font-family: "object-fit: cover"
}

@media (max-width:640px) {
	.text-block .double-photo img {
		width: 100%;
		margin-bottom: 1.5rem
	}
}

.text-block ul {
	margin-bottom: 4rem
}

.text-block ul:last-child {
	margin-bottom: 0
}

.text-block ul h2 {
	margin-bottom: 1.5rem;
	padding-left: 3rem;
	color: #646566
}

.text-block ul li {
	position: relative;
	margin-bottom: .8rem;
	padding-left: 3rem
}

.text-block ul li p:first-child {
	margin-top: 0
}

.text-block ul li p:last-child {
	margin-bottom: 0
}

.text-block ul li:after {
	position: absolute;
	top: .8rem;
	left: 0;
	width: .6rem;
	height: .6rem;
	background-color: #d30422;
	content: ""
}

.text-block .table-scroll-wrap {
	margin-top: 4rem;
	overflow-x: scroll
}

.text-block table {
	width: calc(100% + 27rem);
	margin: 4rem 0 4rem -1.5rem;
	border-collapse: collapse
}

@media (max-width:1023px) {
	.text-block table {
		width: calc(100% + 1.5rem)
	}
}

@media (max-width:640px) {
	.text-block table {
		margin-top: 0;
		overflow-x: scroll
	}
}

.text-block table caption {
	width: 75rem;
	padding-left: 1.5rem;
	text-align: left
}

@media (max-width:640px) {
	.text-block table caption {
		width: 49rem
	}
}

.text-block table caption h2 {
	margin-top: 0;
	color: #646566
}

.text-block table thead {
	border-bottom: 1px solid #646566;
	font-family: RussianRail, sans-serif;
	white-space: nowrap
}

@media (max-width:640px) {
	.text-block table thead {
		white-space: normal
	}
}

.text-block table tbody tr {
	border-bottom: 1px solid #c4c4c4
}

.text-block table td {
	padding: 1rem 2.5rem 1rem 0;
	vertical-align: top
}

.text-block table td:first-child {
	padding-left: 1.5rem
}

.text-block .tel {
	margin-bottom: 4rem;
	color: #d30422;
	font-weight: 700;
	font-size: 7rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 8.4rem
}

@media (max-width:640px) {
	.text-block .tel {
		margin-bottom: 2rem;
		font-size: 5rem
	}
}

.text-block .levels {
	display: flex;
	width: calc(100% + 28.5rem);
	margin-bottom: 4rem;
	margin-left: -27rem
}

@media (max-width:1023px) {
	.text-block .levels {
		width: calc(100% + 1.5rem);
		margin-right: -1.5rem;
		margin-left: 0
	}
}

@media (max-width:640px) {
	.text-block .levels {
		flex-wrap: wrap;
		margin-bottom: 2rem
	}
}

.text-block .levels__item {
	width: 24rem;
	margin-right: 1.5rem;
	padding: 1.5rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .25)
}

@media (max-width:640px) {
	.text-block .levels__item {
		width: calc(50% - 1.5rem);
		margin-bottom: 2rem
	}
}

.text-block .levels__item h3 {
	color: #d30422;
	font-weight: 700;
	text-transform: uppercase
}

.text-block .levels__item p {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.9rem
}

.object-fit-contain {
	font-family: "object-fit: contain"
}

.object-fit-cover {
	font-family: "object-fit: cover"
}

.sidebar {
	position: absolute;
	top: 0;
	right: 3rem;
	width: 22.5rem
}

@media (max-width:640px) {
	.sidebar {
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
		margin-top: 7rem
	}
}

.sidebar p {
	margin: 0
}

.sidebar__item {
	margin-bottom: 4.5rem
}

.sidebar__title {
	margin-bottom: 1.5rem;
	font-weight: 400;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem;
	text-transform: none
}

@media (max-width:640px) {
	.sidebar__title {
		margin-bottom: 3rem
	}
}

.sidebar__download {
	display: flex;
	margin-bottom: 2rem
}

.sidebar__icon {
	display: block;
	flex-shrink: 0;
	width: 1.6rem;
	height: 2.4rem;
	margin-top: .1rem;
	margin-right: 1.4rem
}

.sidebar__icon img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain
}

.sidebar__file {
	font-size: 1.2rem;
	line-height: 1.4rem;
	transition: color .3s ease
}

@media (min-width:1024px) {
	.sidebar__file:hover {
		color: #d30422
	}
}

@media (max-width:640px) {
	.sidebar__file {
		font-size: 2rem;
		line-height: 2.4rem
	}
}

.sidebar__file-name {
	text-decoration: underline
}

.non-sticky-sidebar-wrap {
	display: flex
}

@media (max-width:1023px) {
	.non-sticky-sidebar-wrap {
		flex-direction: column
	}
}

.non-sticky-sidebar-wrap .sticky-nav {
	position: relative;
	top: auto;
	left: auto;
	margin-right: 1.5rem
}

.non-sticky-sidebar-wrap .container-sm {
	margin: 0 0 0 1.5rem
}

@media (max-width:1023px) {
	.non-sticky-sidebar-wrap .container-sm {
		margin: 0
	}
}

.numbers {
	display: flex;
	flex-wrap: wrap;
	margin: 3rem 0 -2rem
}

.numbers__item {
	display: inline-block;
	min-width: 50%;
	min-height: 12rem;
	margin-bottom: 7.5rem;
	padding-right: 2rem;
	padding-left: 3rem;
	border-left: 1px solid #707172
}

@media (max-width:1023px) {
	.numbers__item {
		margin-bottom: 6rem
	}
}

@media (max-width:640px) {
	.numbers__item {
		margin-bottom: 4.5rem
	}
}

.numbers__number {
	margin: 0;
	color: #d30422;
	font-weight: 700;
	font-size: 8.1rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 5.8rem
}

@media (max-width:1023px) {
	.numbers__number {
		font-size: 6rem;
		line-height: 4.8rem
	}
}

.numbers__type {
	width: 7.5rem;
	margin-top: 1.5rem;
	font-size: 1.5rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 1.8rem
}

@media (max-width:1023px) {
	.sticky-nav-wrap {
		display: flex;
		align-items: center
	}
}

.sticky-nav {
	position: absolute;
	top: 0;
	left: 4.5rem;
	flex-shrink: 0;
	width: 22.5rem;
	margin-top: 20rem
}

.sticky-nav:not(._main) .sticky-nav-wrap {
	display: none
}

.sticky-nav:not(._main) .sidebar-banner._products {
	width: calc(100% + 1.5rem);
	margin-left: -2rem;
	padding: 1rem 0 0 2rem;
	order: 99;
}

@media (max-width:1023px) {
	.sticky-nav:not(._main) .sidebar-banner._products {
		width: calc(100% - .75rem);
		margin-left: 0;
		padding: 1rem 0 0 1.5rem
	}
}

@media (max-width:640px) {
	.sticky-nav:not(._main) .sidebar-banner._products {
		width: 100%
	}
}

.sticky-nav:not(._main) .sidebar-banner._products h2 {
	margin-bottom: 1.5rem;
	color: #646566;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.2;
	text-transform: none
}

.sticky-nav:not(._main) .sidebar-banner._products p {
	margin: 0;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.7rem
}

@media (max-width:1023px) {
	.sticky-nav._press-center {
		display: block;
		width: 100%;
		margin-top: 0 !important
	}

	.sticky-nav._press-center .sticky-nav-wrap {
		display: flex
	}

	.sticky-nav._press-center .sticky-nav-wrap a {
		margin: 0 2.5rem 0 0;
		color: #d30422;
		font-size: 2rem;
		line-height: 3rem;
		white-space: nowrap;
		text-decoration: underline
	}
}

@media (max-width:1023px) and (max-width:640px) {
	.sticky-nav._press-center .sticky-nav-wrap a {
		margin-bottom: .2rem;
		padding-left: .6rem
	}
}

@media (max-width:1023px) {
	.sticky-nav._press-center .sticky-nav-wrap a._active {
		padding: .6rem;
		color: #fff;
		text-decoration: none;
		background-color: #d30422
	}
}

@media (max-width:1023px) and (max-width:640px) {
	.sticky-nav._press-center .sticky-nav-wrap a._active {
		padding: .2rem .6rem
	}
}

@media (max-width:1023px) {
	.sticky-nav._press-center .sticky-nav-wrap a._active:before {
		display: none
	}
}

@media (max-width:640px) {
	.sticky-nav._press-center .sticky-nav-wrap {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 2rem
	}

	.sticky-nav._press-center .sidebar-banner {
		display: none
	}
}

.sticky-nav._products {
	left: -25.5rem;
	display: flex;
	flex-direction: column;
}
.sticky-nav._products a:nth-child(1) {
	order: 0;
}
.sticky-nav._products a:nth-child(2) {
	order: 1;
}
.sticky-nav._products a:nth-child(4) {
	order: 2;
}

@media (max-width:1023px) {
	.sticky-nav._products {
		position: relative;
		top: auto;
		left: auto;
		display: block;
		order: 2;
		width: 50%;
		margin: 0
	}

	.sticky-nav._products>a {
		display: none
	}
}

@media (max-width:640px) {
	.sticky-nav._products {
		width: 100%
	}
}

.sticky-nav._project {
	position: relative;
	top: auto;
	left: auto;
	margin-right: 1.5rem
}

@media (max-width:1023px) {
	.sticky-nav._project {
		display: flex;
		flex-direction: column;
		width: 22.5rem;
		margin-right: 0
	}
}

@media (max-width:640px) {
	.sticky-nav._project {
		display: none
	}
}

.sticky-nav._mobile {
	position: relative;
	top: auto;
	left: auto;
	display: flex;
	flex-direction: column;
	width: 100%
}

@media (max-width:1023px) {
	.sticky-nav._mobile .sticky-nav-wrap {
		display: none
	}
}

@media (max-width:640px) {
	.sticky-nav._mobile .sticky-nav-wrap {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 4rem
	}
}

.sticky-nav._mobile .sticky-nav-wrap a {
	margin: 0 2.5rem 0 0;
	color: #d30422;
	font-size: 2rem;
	line-height: 3rem;
	white-space: nowrap;
	text-decoration: underline
}

@media (max-width:640px) {
	.sticky-nav._mobile .sticky-nav-wrap a {
		margin-bottom: .2rem;
		padding-left: .6rem
	}
}

.sticky-nav._mobile .sticky-nav-wrap a._active {
	padding: .6rem;
	color: #fff;
	text-decoration: none;
	background-color: #d30422
}

@media (max-width:640px) {
	.sticky-nav._mobile .sticky-nav-wrap a._active {
		padding: .2rem .6rem
	}
}

.sticky-nav._mobile .sticky-nav-wrap a._active:before {
	display: none
}

@media (max-width:640px) {
	.sticky-nav._mobile .sidebar-banner .sidebar-banner__contacts>h2 {
		font-size: 2rem;
		line-height: 1.2;
		text-transform: uppercase
	}
}

@media (min-width:1024px) {
	.sticky-nav._mobile {
		display: none
	}
}

.sticky-nav:not(.js-sticky) {
	margin-top: 3rem
}

.sticky-nav:not(.js-sticky)._with-title {
	margin-top: 5rem
}

@media (max-width:1023px) {
	.sticky-nav {
		display: none
	}
}

.sticky-nav a {
	position: relative;
	display: block;
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 1.7rem;
	transition: color .3s ease
}

.sticky-nav a:last-of-type {
	margin-bottom: 3rem
}

.sticky-nav a._active {
	color: #d30422
}

.sticky-nav a._active:before {
	position: absolute;
	top: .8rem;
	left: -2rem;
	width: 1rem;
	height: .8rem;
	background-image: url(../i/arrow-right-red.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-40%);
	content: ""
}

.lifecycle-banner {
	position: relative;
	margin-top: 5rem;
	padding: 0 3rem
}

@media (max-width:1023px) {
	.lifecycle-banner {
		width: calc(100% - 24rem);
		margin: 5rem auto 0
	}
}

@media (max-width:640px) {
	.lifecycle-banner {
		width: 100%;
		margin: 2rem 0 0;
		padding: 0
	}
}

.lifecycle-banner__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-family: RussianRail, sans-serif;
	font-style: normal
}

@media (max-width:640px) {
	.lifecycle-banner__items {
		position: relative;
		width: 42rem;
		margin: 0 auto
	}
}

.lifecycle-banner__items p {
	margin: 0
}

.lifecycle-banner__arrows {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	width: calc(100% - 11.25rem);
	height: 100%;
	padding-bottom: 3rem;
	pointer-events: none
}

@media (max-width:640px) {
	.lifecycle-banner__arrows {
		display: none
	}
}

.lifecycle-banner__arrows._mobile {
	top: 0;
	left: 0;
	display: none;
	justify-content: center;
	width: 100%
}

.lifecycle-banner__arrows._mobile img {
	width: 26rem
}

@media (max-width:640px) {
	.lifecycle-banner__arrows._mobile {
		display: flex
	}
}

.lifecycle-banner__arrows img {
	width: 100%;
	height: 100%;
	margin: 0
}

.lifecycle-banner__item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 16.5rem;
	height: 16.5rem;
	margin-bottom: 3rem;
	padding: 1.5rem;
	border-radius: .5rem;
	background-color: #c4c4c4;
	transition: background-color .3s ease, color .3s ease, box-shadow .3s ease
}

@media (min-width:1024px) {
	.lifecycle-banner__item:hover {
		color: #fff;
		background-color: #d30422;
		box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .25)
	}
}

@media (min-width:641px) {
	.lifecycle-banner__item:last-of-type {
		order: 5
	}

	.lifecycle-banner__item:nth-last-of-type(2) {
		order: 6
	}

	.lifecycle-banner__item:nth-last-of-type(3) {
		order: 7
	}
}

@media (max-width:640px) {

	/*.lifecycle-banner__item:last-of-type {
		order: 1
	}

	.lifecycle-banner__item:nth-last-of-type(2) {
		order: 2
	}

	.lifecycle-banner__item:nth-last-of-type(3) {
		order: 4
	}

	.lifecycle-banner__item:nth-last-of-type(4) {
		order: 3
	}

	.lifecycle-banner__item:nth-last-of-type(5) {
		order: 1
	}
.lifecycle-banner__item:nth-last-of-type(6) {
		order: 1
	}
.lifecycle-banner__item:nth-last-of-type(7) {
		order: 1
	}
.lifecycle-banner__item:nth-last-of-type(8) {
		order: 3
	}*/
	.lifecycle-banner__items #bx_3218110189_299, .lifecycle-banner__items #bx_3218110189_1113 {
	order: 1;
}
	.lifecycle-banner__items #bx_3218110189_300, .lifecycle-banner__items #bx_3218110189_1112 {
	order: 2;
}
	.lifecycle-banner__items #bx_3218110189_305, .lifecycle-banner__items #bx_3218110189_1107 {
	order: 3;
}
	.lifecycle-banner__items #bx_3218110189_9880, .lifecycle-banner__items #bx_3218110189_9882 {
	order: 4;
}
	.lifecycle-banner__items #bx_3218110189_304, .lifecycle-banner__items #bx_3218110189_1108 {
order: 5;
}
	.lifecycle-banner__items #bx_3218110189_301, .lifecycle-banner__items #bx_3218110189_1111 {
	order: 6;
}
	.lifecycle-banner__items #bx_3218110189_303, .lifecycle-banner__items #bx_3218110189_1109 {
order: 7;
}
	.lifecycle-banner__items #bx_3218110189_302, .lifecycle-banner__items #bx_3218110189_1110 {
order: 8;
}
}

.lifecycle-banner__item img {
	display: block;
	flex-grow: 1;
	width: 7.5rem;
	margin: 0 auto;
	padding-top: 1.5rem
}

.lifecycle-banner__item p {
	font-size: 1.2rem;
	line-height: 1.4rem
}

.lifecycle-banner__title {
	display: flex;
	align-items: center;
	width: 42rem;
	margin-bottom: 3rem

}

@media (max-width:640px) {
	.lifecycle-banner__title {
		width: 16.5rem;
		height: 16.5rem;
		display: none;
	}
}

.lifecycle-banner__title h2 {
	margin: 0;
	color: #d30422;
	font-size: 3.2rem;
	line-height: 3.9rem
}

@media (max-width:640px) {
	.lifecycle-banner__title h2 {
		display: none
	}
}

.lifecycle-banner__title-mobile h2 {
	margin-bottom: 4rem;
	color: #d30422;
	font-weight: 400;
	font-size: 3rem;
	line-height: 3.6rem
}

@media (min-width:641px) {
	.lifecycle-banner__title-mobile {
		display: none
	}
}

.membership-title {
	width: 73.5rem;
	margin-left: 25.5rem;
	font-weight: 400;
	font-size: 2.8rem;
	font-family: FSRailway, sans-serif;
	line-height: 3.4rem;
	text-transform: none
}

@media (max-width:1023px) {
	.membership-title {
		margin-left: 0
	}
}

@media (max-width:640px) {
	.membership-title {
		width: 100%;
		font-size: 2rem;
		line-height: 2.4rem
	}
}

.association {
	display: flex;
	margin-top: 4rem;
	padding-top: 4.5rem
}

@media (max-width:640px) {
	.association {
		flex-direction: column;
		margin-top: 0
	}
}

.association:last-child {
	margin-bottom: 6rem
}

.association__img {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 22.5rem;
	margin-right: 3rem;
	padding-top: 1rem
}

@media (max-width:640px) {
	.association__img {
		width: auto;
		margin-right: 0;
		margin-bottom: 3rem
	}
}

.association__img img {
	width: 13.5rem
}

.association__content {
	position: relative;
	width: 73.5rem
}

@media (max-width:640px) {
	.association__content {
		width: 100%
	}

	.association__content:before {
		display: none
	}
}

.association__content:before {
	position: absolute;
	top: -4.5rem;
	left: 0;
	width: 22.5rem;
	height: 1px;
	background-color: #c4c4c4;
	content: ""
}

.association__title {
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem;
	text-transform: uppercase
}

.association__subtitle {
	font-family: FSRailway, sans-serif
}

.association__subtitle,
.association p {
	font-size: 1.8rem;
	line-height: 2.2rem
}

.association p:last-of-type {
	margin-bottom: 0
}

.association span {
	display: block;
	margin-bottom: -2rem;
	padding-top: 2rem
}

.sidebar-banner {
	width: 22.5rem
}

@media (max-width:640px) {
	.sidebar-banner {
		width: 100%
	}
}

.sidebar-banner._press-center {
	margin-top: 4rem;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.sidebar-banner._press-center {
		display: flex;
		width: 100%;
		margin: 3rem 0 !important
	}
}

@media (min-width:1024px) {

	.sidebar-banner._press-center h2,
	.sidebar-banner._press-center p {
		width: 18rem
	}
}

@media (max-width:1023px) {

	.sidebar-banner._press-center .sidebar-banner__contacts>h2,
	.sidebar-banner._press-center .sidebar-banner__soc-wrap>h2 {
		font-size: 2rem;
		line-height: 1.2;
		text-transform: uppercase
	}
}

.sidebar-banner._press-center .sidebar-banner__contact>a {
	width: 100%;
	margin-top: 2rem
}

@media (max-width:1023px) {
	.sidebar-banner._press-center .sidebar-banner__contact h2 {
		margin-bottom: 0
	}
}

.sidebar-banner._press-center .sidebar-banner__soc a {
	margin-top: 0
}

.sidebar-banner._press-center h2 {
	margin-top: 3rem;
	margin-bottom: 1rem
}

@media (max-width:1023px) {
	.sidebar-banner._press-center h2 {
		margin-top: 0
	}
}

.sidebar-banner._press-center a {
	margin-top: 2rem;
	color: #d30422;
	font-weight: 400;
	font-size: 2rem;
	line-height: 2.4rem;
	text-decoration: none
}

.sidebar-banner._press-center p {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.7rem
}

@media (max-width:1023px) {
	.sidebar-banner__contacts {
		display: flex;
		flex-wrap: wrap;
		margin-right: 3rem
	}

	.sidebar-banner__contacts h2 {
		width: 100%
	}
}

@media (max-width:640px) {
	.sidebar-banner__contacts {
		margin-right: 0
	}
}

@media (max-width:1023px) {
	.sidebar-banner__contact {
		width: 50%
	}
}

@media (max-width:1023px) {
	.sidebar-banner__soc-wrap {
		flex-shrink: 0;
		width: 32rem
	}
}

@media (max-width:640px) {
	.sidebar-banner__soc-wrap {
		display: none
	}
}

.sidebar-banner__soc {
	display: flex
}

.sidebar-banner__soc a {
	margin: 0 1rem 0 0
}

.sidebar-banner__soc a svg {
	transition: fill .3s ease;
	fill: #d30422
}

@media (min-width:1024px) {
	.sidebar-banner__soc a svg:hover {
		fill: #646566
	}
}

.sidebar-banner__btn {
	display: block;
	width: calc(100% + 3rem);
	margin-bottom: 3rem;
	margin-left: -1.5rem;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-align: center;
	text-decoration: none !important
}

@media (max-width:1023px) {
	.sidebar-banner__btn {
		font-size: 1.8rem !important
	}
}

@media (max-width:640px) {
	.sidebar-banner__btn {
		width: 100%;
		margin-left: 0
	}
}

.sidebar-banner__item {
	position: relative;
	margin-bottom: 1.5rem
}

.sidebar-banner__icon {
	position: absolute;
	top: auto;
	left: -3rem;
	display: flex;
	flex-shrink: 0;
	align-items: flex-start;
	width: 1.6rem;
	height: 2.4rem;
	margin-top: .3rem;
	margin-right: 1.4rem
}

.sidebar-banner__icon img {
	width: 100%
}

.sidebar-banner__form .field {
	width: calc(100% + 1.5rem) !important;
	margin-left: -1.5rem
}

.sidebar-banner__form .field label {
	left: 1.5rem !important
}

.sidebar-banner__form .field input {
	padding-left: 1.5rem !important
}

.sidebar-banner__form .form__checkbox {
	width: calc(100% + 3.3rem);
	margin-left: -3.3rem
}

@media (max-width:1023px) {
	.sidebar-banner__form .form__checkbox {
		margin-top: 1rem
	}
}

.sidebar-banner__form .form__checkbox label {
	font-size: 1.4rem;
	line-height: 1.7rem
}

.sidebar-banner__form .form__checkbox label:before {
	top: .4rem;
	width: 1.6rem;
	height: 1.6rem;
	transform: translateY(0)
}

@media (max-width:1023px) {
	.sidebar-banner__form .form__checkbox label:before {
		top: 0
	}
}

.sidebar-banner__form .form__checkbox label:after {
	top: .6rem;
	left: .95rem;
	width: .5rem;
	height: 1rem;
	transform: translateY(0) rotate(45deg)
}

@media (max-width:1023px) {
	.sidebar-banner__form .form__checkbox label:after {
		top: .2rem;
		border-width: 2px
	}
}

.sidebar-banner__form .btn {
	width: 100% !important
}

.sidebar-banner>img {
	display: block;
	width: 100%;
	margin-bottom: 2rem
}

@media (max-width:640px) {
	.sidebar-banner>img {
		display: none
	}
}

.sidebar-banner h2 {
	max-width: 95%;
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
	line-height: 1.2;
	text-transform: none
}

.sidebar-banner h4 {
	margin-bottom: 2rem;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2.2rem
}

.sidebar-banner a {
	text-decoration: underline;
	transition: color .3s ease
}

@media (min-width:1024px) {
	.sidebar-banner a:hover {
		color: #d30422
	}
}

.vacancy-wrap {
	display: flex
}

@media (max-width:1023px) {
	.vacancy-wrap._detail .sidebar-banner {
		display: none
	}

	.vacancy-wrap._detail .vacancy,
	.vacancy-wrap._detail .vacancy__item {
		margin-left: 0
	}
}

@media (max-width:640px) {
	.vacancy-wrap {
		flex-direction: column-reverse;
		margin-bottom: 10rem
	}
}

.vacancy {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	margin-bottom: 2rem;
	margin-left: 1.3636363636rem
}

@media (max-width:640px) {
	.vacancy {
		margin: 0
	}
}

.vacancy__item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	width: calc(50% - 1.5rem);
	margin-bottom: 3rem;
	margin-left: 1.5rem;
	padding: 3rem 3rem 2.5rem;
	border-radius: .5rem;
	background: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.vacancy__item {
		width: calc(50% - 1.5rem)
	}
}

@media (max-width:640px) {
	.vacancy__item {
		width: 100%;
		margin-left: 0
	}
}

.vacancy__item:first-child,
.vacancy__item:nth-child(2) {
	align-self: flex-start
}

.vacancy__item._detail {
	display: block;
	width: 102rem;
	padding: 3rem
}

@media (max-width:1023px) {
	.vacancy__item._detail {
		width: 100%
	}
}

.vacancy__item._detail .text-block {
	margin-bottom: 0;
	-moz-column-count: 2;
	column-count: 2;
	-moz-column-gap: 5rem;
	column-gap: 5rem
}

@media (max-width:640px) {
	.vacancy__item._detail .text-block {
		-moz-column-count: 1;
		column-count: 1
	}
}

.vacancy__item._detail .text-block p {
	margin-top: 0;
	margin-bottom: 3rem
}

@media (min-width:1024px) {
	.vacancy__item:not(._detail):hover h2 {
		text-decoration: underline
	}
}

.vacancy__item:not(._detail) h2:after {
	position: absolute;
	bottom: -1.4rem;
	left: 0;
	width: 3rem;
	height: 1px;
	background-color: #c4c4c4;
	content: ""
}

.vacancy__item:not(._detail) p {
	align-self: flex-end
}

.vacancy__item h2 {
	position: relative;
	width: 100%;
	margin-bottom: 3rem;
	color: #d30422;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem;
	text-transform: uppercase
}

.vacancy__item b,
.vacancy__item li,
.vacancy__item p {
	font-size: 1.8rem;
	line-height: 2.2rem
}

.vacancy__item p {
	margin: 0
}

.vacancy__title {
	width: 100%
}

.vacancy__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 2rem
}

@media (max-width:640px) {
	.vacancy__org {
		width: 60%
	}
}

.vacancy__location {
	position: relative
}

.vacancy__location:before {
	position: absolute;
	top: auto;
	right: calc(100% + .3rem);
	width: 2rem;
	height: 2rem;
	background-image: url(../i/mark.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: ""
}

.vacancy .feedback {
	width: 100%
}

.vacancy .feedback__container-wrap {
	width: 100%;
	margin-left: 1.5rem
}

@media (max-width:640px) {
	.vacancy .feedback__container-wrap {
		margin-left: 0
	}
}

.customers__container {
	margin-bottom: 6rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .15)
}

.customers__container._review {
	display: flex;
	flex-wrap: wrap;
	margin-right: -3rem;
	background-color: transparent;
	box-shadow: none
}

@media (max-width:1023px) {
	.customers__container._review {
		margin-right: -1.5rem
	}
}

.customers__content {
	display: flex;
	flex-wrap: wrap;
	margin-right: -3rem;
	padding-top: 1.5rem
}

@media (max-width:1023px) {
	.customers__content {
		margin-right: -1.5rem
	}
}

.customers__title {
	margin: 3rem 0 2rem;
	font-weight: 700;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem;
	text-transform: uppercase
}

.customers__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(20% - 3rem);
	height: 16rem;
	margin-right: 3rem;
	margin-bottom: 1.5rem
}

@media (max-width:1023px) {
	.customers__item {
		width: calc(25% - 1.5rem);
		margin-right: 1.5rem
	}
}

@media (max-width:640px) {
	.customers__item {
		width: calc(50% - 1.5rem);
		pointer-events: none
	}
}

@media (min-width:1024px) {
	.customers__item:hover .customers__img-title {
		opacity: 1
	}
}

.customers__img {
	width: 10rem;
	height: 10rem
}

.customers__img-title {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 1.5rem;
	font-family: RussianRail, sans-serif;
	text-align: center;
	background-color: hsla(0, 0%, 100%, .9);
	cursor: pointer;
	opacity: 0;
	transition: opacity .3s ease
}

.customers__img-title p {
	width: 100%;
	color: #d30422;
	font-size: 1.4rem;
	font-style: normal;
	line-height: 1.7rem
}

.customers__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain
}

.customers__review {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 22.5rem;
	height: 12rem;
	margin-right: 3rem;
	margin-bottom: 1.5rem;
	transition: color .3s ease
}

@media (max-width:1023px) {
	.customers__review {
		width: calc(25% - 1.5rem);
		margin-right: 1.5rem;
		padding: 0 2rem
	}
}

@media (max-width:640px) {
	.customers__review {
		width: calc(50% - 1.5rem)
	}
}

@media (min-width:1024px) {
	.customers__review:hover {
		color: #d30422
	}
}

.customers__review-name {
	width: 100%;
	font-family: RussianRail, sans-serif
}

.customers__review-name p {
	margin-top: 1rem;
	font-size: 1.4rem;
	font-style: normal;
	line-height: 1.7rem;
	text-align: center
}

.customers__file {
	width: 5.5rem;
	height: 6rem
}

.customers__file img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain
}

.geography {
	position: relative;
	height: 57rem;
	margin: 0-25.5rem
}

@media (max-width:1023px) {
	.geography {
		height: 63rem;
		margin: 0 -22.5rem 2rem 0
	}
}

@media (max-width:640px) {
	.geography {
		height: 32rem;
		margin: 0 -11.25rem 2rem 0
	}
}

.geography__map {
	position: absolute;
	top: -120%;
	right: -3rem;
	bottom: 0;
	left: -13.5rem;
	z-index: -1
}

@media (max-width:1023px) {
	.geography__map {
		top: -97%
	}
}

@media (max-width:640px) {
	.geography__map {
		top: -130%;
		left: -8.5rem
	}
}

@media (max-width:480px) {
	.geography__map {
		top: -120%;
		left: -8.5rem
	}
}

@media (max-width:360px) {
	.geography__map {
		top: -105%;
		left: -8.5rem
	}
}

.geography__map img {
	width: calc(100% + 7rem)
}

.geography h2 {
	width: 32rem;
	margin-top: 6rem;
	color: #d30422
}

.service {
	margin-top: 8rem;
	margin-bottom: 10rem
}

.contacts {
	margin-bottom: 11rem
}

@media (max-width:1023px) {
	.contacts {
		margin-top: 1rem
	}
}

.contacts__title {
	margin-bottom: 2.5rem;
	margin-left: 25.5rem;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem
}

@media (max-width:1023px) {
	.contacts__title:first-of-type {
		margin-left: 0
	}
}

@media (max-width:640px) {
	.contacts__title {
		margin-left: 0
	}
}

.contact {
	display: flex;
	margin-bottom: 7rem
}

@media (max-width:640px) {
	.contact {
		flex-direction: column
	}
}

.contact:not(._main-contact) .contact__location {
	padding-top: 2.5rem
}

@media (max-width:640px) {
	.contact:not(._main-contact) .contact__location {
		padding-top: 0
	}
}

.contact:not(._main-contact) .contact__container {
	width: 100%
}

.contact:not(._main-contact) .contact__content {
	width: 75rem;
	margin-left: -1.5rem;
	padding: 2.5rem 1.5rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .25)
}

@media (max-width:1023px) {
	.contact:not(._main-contact) .contact__content {
		width: 100%;
		margin-left: 0
	}
}

.contact:not(._main-contact) .contact__content h2 {
	margin-bottom: 2rem;
	text-transform: none
}

.contact:not(._main-contact) .contact__content p {
	width: 100%;
	margin: 2rem 0
}

.contact:not(._main-contact) .contact__content p:last-of-type {
	margin-bottom: 0
}

.contact:not(._main-contact) p {
	margin: 0
}

.contact__title {
	width: 100%
}

.contact h2 {
	font-weight: 700
}

.contact h2,
.contact p {
	font-size: 2rem;
	line-height: 2.4rem
}

.contact p {
	margin-top: 0;
	margin-bottom: 3rem
}

@media (max-width:640px) {
	.contact p {
		width: 100%
	}
}

.contact p:last-child {
	margin-bottom: 0
}

.contact__location {
	flex-shrink: 0;
	width: 22.5rem;
	margin-right: 3rem;
	color: #d30422;
	font-family: RussianRail, sans-serif
}

@media (max-width:1023px) {
	.contact__location {
		margin-right: 1.5rem
	}
}

@media (max-width:640px) {
	.contact__location {
		width: 34rem;
		margin-bottom: 2rem
	}
}

.contact__content {
	display: inline-block;
	width: 100%
}

.contact__content h2 {
	margin-bottom: 3rem
}

.contact__main-row {
	display: flex
}

@media (max-width:1023px) {
	.contact__main-row {
		flex-direction: column
	}
}

.contact__row {
	display: flex;
	flex-wrap: wrap;
	width: 51rem;
	margin-right: -3rem
}

@media (max-width:1023px) {
	.contact__row {
		width: auto
	}
}

.contact__col,
.contact__info {
	margin-right: 3rem
}

.contact__col {
	display: inline-block;
	width: 22.5rem
}

@media (max-width:1023px) {
	.contact__col {
		margin-right: 1.5rem
	}
}

.contact__col._email a {
	color: #d30422
}

.contact__col p {
	width: auto;
	margin: 0
}

.contact__col h2 {
	text-transform: none
}

.contact__map {
	display: inline-block;
	flex-shrink: 0;
	width: 48rem;
	height: 32rem
}

@media (max-width:1023px) {
	.contact__map {
		width: 100%;
		margin-top: 2rem
	}
}

@media (max-width:640px) {
	.contact__map {
		width: calc(100% + 6rem);
		margin: 2rem -3rem 0
	}
}

.feedback {
	display: flex;
	margin-bottom: 7rem;
	font-family: RussianRail, sans-serif
}

.feedback__icon-wrap {
	flex-shrink: 0;
	width: 22.5rem;
	margin-top: -5rem;
	margin-right: 3rem
}

@media (max-width:1023px) {
	.feedback__icon-wrap {
		display: none
	}
}

.feedback__icon-wrap img {
	width: 20rem
}

.feedback__success-head {
	width: 60rem
}

@media (max-width:1023px) {
	.feedback__success-head {
		width: 60%
	}
}

@media (max-width:640px) {
	.feedback__success-head {
		width: 100%
	}
}

.feedback__success-head h2 {
	margin-bottom: 4rem;
	font-size: 3.6rem;
	line-height: 1
}

@media (max-width:640px) {
	.feedback__success-head h2 {
		margin-bottom: 2rem;
		font-size: 2rem
	}
}

@media (max-width:640px) {
	.feedback__success-head p {
		font-size: 1.8rem;
		line-height: 2.3rem
	}
}

.feedback__container-wrap {
	width: 100%;
	min-height: 43rem;
	margin-left: -1.5rem;
	padding: 3.5rem 3rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.feedback__container-wrap {
		margin-left: 0
	}
}

@media (max-width:640px) {
	.feedback__container-wrap {
		width: calc(100% + 6rem);
		margin: 0 -3rem
	}
}

.feedback__header {
	width: 100%
}

@media (max-width:640px) {
	.feedback__header .vacancy__head {
		display: none
	}
}

.feedback__header .vacancy__head p {
	margin: 0
}

.feedback__header h2 {
	color: #d30422;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.2
}

@media (max-width:640px) {
	.feedback__header h2 {
		margin-bottom: 1.5rem
	}
}

.feedback__header h2.feedback__title {
	margin-bottom: 1.5rem;
	font-weight: 700
}

@media (max-width:640px) {
	.feedback__header h2.feedback__title {
		display: none
	}
}

.feedback__container {
	display: flex;
	flex-wrap: wrap
}

@media (max-width:640px) {
	.feedback__container {
		flex-direction: column;
		align-items: flex-start
	}
}

.feedback__content {
	width: calc(100% - 22.5rem);
	padding-right: 4rem
}

@media (max-width:640px) {
	.feedback__content {
		width: 100%;
		padding-right: 0
	}
}

.feedback__required {
	flex-shrink: 0;
	width: 22.5rem;
	font-size: 1.8rem;
	line-height: 2.2rem;
	transition: color .25s ease
}

@media (max-width:640px) {
	.feedback__required {
		width: 100%;
		margin-top: 2rem
	}
}

.feedback__required p {
	margin: 0
}

.feedback__required._error {
	color: #d30422
}

.form {
	width: 100%
}

.form .form-errors {
	display: none;
	margin-top: -1rem;
	margin-bottom: 2rem;
	color: #d30422;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 2rem
}

.form .form-errors._active {
	display: block
}

.form .field {
	position: relative;
	width: 100%;
	height: 2.5rem;
	margin-bottom: 2rem
}

.form .field._filled>label,
.form .field._focused>label {
	opacity: 0
}

.form .field._error input,
.form .field._error textarea {
	border-bottom: 1px solid #d30422
}

.form .field._textarea {
	height: auto
}

.form .field label {
	position: absolute;
	top: 0;
	left: .3rem;
	z-index: 1;
	color: #c4c4c4;
	font-size: 2rem;
	line-height: 2.4rem;
	transition: opacity .25s ease;
	pointer-events: none
}

.form .field input,
.form .field textarea {
	width: 100%;
	height: 100%;
	padding: 0 0 .3rem .3rem;
	border: 0;
	border-bottom: 1px solid #646566;
	color: #646566;
	font-size: 2rem;
	line-height: 2.4rem;
	background-color: transparent;
	transition: border-color .25s ease;
	resize: none
}

.form .field textarea {
	height: 13.5rem;
	max-height: 25rem
}

.form__attach {
	display: flex;
	align-items: baseline;
	margin: -.5rem 0 3rem
}

@media (max-width:640px) {
	.form__attach {
		flex-wrap: wrap
	}
}

.form__attach .file {
	width: 27rem;
	margin-left: 2rem
}

.form__attach .field {
	margin-right: 2rem
}

@media (max-width:640px) {
	.form__attach .field {
		margin-right: 0
	}
}

.form__checkbox {
	margin-top: -1rem;
	margin-bottom: 1.5rem
}

.form__checkbox._error {
	color: #d30422
}

.form__checkbox._error label:before {
	background-color: #d30422
}

.form__checkbox input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0)
}

.form__checkbox input:checked+label:before {
	background-color: #646566
}

.form__checkbox input:checked+label:after {
	opacity: 1
}

.form__checkbox label {
	position: relative;
	display: block;
	padding-left: 3.5rem;
	font-size: 2rem;
	line-height: 2.4rem
}

.form__checkbox label:before {
	position: absolute;
	top: 50%;
	left: .4rem;
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	background-color: #c4c4c4;
	transform: translateY(-50%);
	transition: color .25s ease;
	content: ""
}

.form__checkbox label:after {
	position: absolute;
	top: 45%;
	left: 1.2rem;
	width: .6rem;
	height: 1.2rem;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	opacity: 0;
	transition: opacity .25s ease;
	content: ""
}

.form__success {
	display: none;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%
}

.form__success._active {
	display: flex
}

.form__success button {
	min-width: 22rem;
	margin-top: 2rem;
	font-size: 1.4rem
}

@media (min-width:1024px) {
	.form__success button:hover svg {
		fill: #d30422
	}
}

.form__success button svg {
	width: 1.2rem;
	height: 1.2rem;
	margin-right: 1rem;
	transition: fill .3s ease;
	fill: #fff
}

.form .btn._red {
	width: 27rem
}

.news-wrap {
	width: calc(100% + 6rem);
	margin-left: -3rem
}

@media (max-width:1023px) {
	.news-wrap {
		width: calc(100% - 24rem);
		margin-left: 0
	}
}

@media (max-width:640px) {
	.news-wrap {
		width: calc(100% + 6rem);
		margin: 0 -3rem;
		overflow: hidden;
		box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
	}
}

.news-wrap._detail {
	display: flex;
	align-items: flex-start;
	margin: 0
}

@media (max-width:1023px) {
	.news-wrap._detail {
		width: 100%
	}
}

@media (max-width:640px) {
	.news-wrap._detail {
		width: calc(100% + 6rem);
		margin-left: -3rem
	}
}

.news-wrap._detail .news {
	width: 75rem
}

@media (max-width:1023px) {
	.news-wrap._detail .news {
		width: 100%
	}
}

.news-wrap._detail .news__head h2 {
	text-decoration: none
}

.news-wrap._detail .news__img:first-child {
	width: calc(100% + 6rem);
	/*max-height: 26rem;*/
	max-height:unset;
	margin: 3rem -3rem
}

@media (max-width:1023px) {
	.news-wrap._detail .news__img:first-child {
		max-height: 35rem
	}
}

.news-wrap._detail .news__content:after {
	display: none
}

.news-wrap._detail .sticky-nav {
	position: relative;
	top: auto;
	left: auto
}

.news-wrap._media {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 28.5rem);
	margin-right: -25.5rem
}

@media (max-width:1023px) {
	.news-wrap._media {
		width: 100%
	}
}

@media (max-width:640px) {
	.news-wrap._media {
		width: calc(100% + 6rem);
		margin: 0 -3rem -2rem;
		box-shadow: none
	}
}

.news-wrap._media .news {
	width: calc(50% - 1.5rem);
	padding: 0
}

@media (max-width:1023px) {
	.news-wrap._media .news {
		width: calc(50% - .75rem)
	}

	.news-wrap._media .news:nth-child(odd) {
		margin-right: 1.5rem
	}
}

@media (max-width:640px) {
	.news-wrap._media .news {
		width: 100%;
		margin-bottom: 3rem;
		box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
	}

	.news-wrap._media .news:nth-child(odd) {
		margin-right: 0
	}

	.news-wrap._media .news .news__img {
		position: relative;
		height: auto;
		max-height: 44rem;
		padding: 0 3rem 3rem
	}
}

.news-wrap._media .news__head {
	padding: 1rem 3rem
}

.news-wrap._media .news__content {
	border-radius: .5rem;
	overflow: hidden
}

.news-wrap._media .news__content:after {
	display: none
}

.news-wrap._media .news__content h2 {
	text-decoration: none
}

.news-wrap._media .news__img {
	height: 27rem;
	margin: 0
}

.news-wrap._media-detail {
	width: calc(100% + 28.5rem);
	margin-bottom: 31rem
}

@media (max-width:1023px) {
	.news-wrap._media-detail {
		width: 100%;
		margin-bottom: 21rem
	}
}

@media (max-width:640px) {
	.news-wrap._media-detail {
		width: calc(100% + 6rem);
		margin: 0 -3rem
	}
}

.news-wrap._media-detail .news {
	width: calc(100% - 1.5rem)
}

@media (max-width:1023px) {
	.news-wrap._media-detail .news {
		width: 100%
	}
}

.news-wrap._media-detail .news__content iframe:not([class]) {
	width: 100%;
	height: 53rem;
	margin: 2rem 0
}

@media (max-width:1023px) {
	.news-wrap._media-detail .news__content iframe:not([class]) {
		height: 51.5rem
	}
}

@media (max-width:640px) {
	.news-wrap._media-detail .news__content iframe:not([class]) {
		height: 33rem
	}
}

.news-wrap._media-detail .news__content iframe:not([class]):last-child {
	margin-bottom: 0
}

.news-wrap._media-detail .news__content:after {
	display: none
}

.news {
	position: relative;
	display: block;
	width: calc(100% - 4.5rem);
	margin-bottom: 3rem;
	margin-left: 1.5rem;
	padding: 3rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.news {
		width: 100%;
		margin-left: 0
	}
}

@media (max-width:640px) {
	.news {
		margin-bottom: 0;
		border-radius: 0;
		box-shadow: none
	}
}

@media (max-width:640px) {
	.news__title {
		display: flex;
		align-items: center;
		justify-content: space-between
	}
}

.news__title h2 {
	margin: 0 0 2rem;
	color: #d30422;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem;
	text-transform: uppercase
}

@media (max-width:640px) {
	.news__title h2 {
		margin: 2rem 0
	}
}

@media (min-width:641px) {
	.news__title span {
		display: none
	}
}

.news__title a {
	display: block;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	text-decoration: underline
}

@media (min-width:641px) {
	.news__title a {
		display: none
	}
}

.news__header {
	display: flex;
	justify-content: space-between
}

.news__header span {
	display: block;
	max-width: 60%;
	word-wrap: break-word
}

.news__head {
	font-family: RussianRail, sans-serif
}

.news__head p {
	margin: 0
}

.news__body {
	font-family: FSRailway, sans-serif
}

.news__counter {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 1.8rem;
	padding: .5rem .6rem;
	border-radius: 2px;
	color: #fff;
	font-size: .9rem;
	font-family: RussianRail, sans-serif;
	line-height: 1;
	background-color: rgba(0, 0, 0, .6)
}

@media (max-width:640px) {
	.news__counter {
		right: 4rem;
		bottom: 4rem;
		width: 7rem;
		height: 3.6rem;
		font-size: 1.8rem
	}
}

.news__counter svg {
	width: .8rem;
	height: .8rem;
	margin-right: 3px
}

@media (max-width:640px) {
	.news__counter svg {
		width: 1.6rem;
		height: 1.6rem;
		margin-right: 6px
	}
}

.news__background {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 54rem;
	border-radius: .5rem;
	overflow: hidden
}

@media (max-width:640px) {
	.news__background {
		border-radius: 0
	}
}

.news__background:before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .76));
	content: ""
}

.news__background~.news__content {
	justify-content: flex-end;
	height: 48rem;
	color: #f2f2f2
}

.news__background~.news__content:after {
	display: none
}

.news__background~.news__content h2 {
	color: inherit
}

.news__background~.news__content .news__img {
	display: none
}

.news__background img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.news__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem
}

.news__content:after {
	position: absolute;
	right: 0;
	bottom: -3.2rem;
	left: 0;
	height: 1px;
	background-color: #c9c9c9;
	content: ""
}

@media (min-width:641px) {
	.news__content:after {
		display: none
	}
}

.news__content h2 {
	margin: 1rem 0;
	color: #d30422;
	font-size: inherit;
	line-height: inherit;
	text-decoration: underline
}

.news__content p:first-of-type {
	margin-top: 0
}

.news__img {
	display: flex;
	justify-content: space-between;
	margin-top: 3rem
}

.news__img img {
	width: calc(50% - 1.5rem);
	height: 21rem;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover
}

.news__img img:only-child {
	width: 100%;
	height: auto
}

.news__more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% + 1.5rem);
	height: 5rem;
	margin-left: -1.5rem;
	border-radius: .5rem;
	color: #646566;
	font-size: 1.5rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 1.8rem;
	text-decoration: underline;
	background-color: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15);
	transition: color .3s ease
}

@media (max-width:1023px) {
	.news__more {
		width: calc(100% - 24rem);
		margin-left: 0
	}
}

@media (max-width:640px) {
	.news__more {
		width: 100%;
		margin-top: 3rem
	}
}

.news-wrap._media~.news__more {
	width: calc(100% + 27rem)
}

@media (max-width:1023px) {
	.news-wrap._media~.news__more {
		width: 100%
	}
}

@media (min-width:1024px) {
	.news__more:hover {
		color: #d30422
	}
}

.news p {
	margin: 2rem 0
}

.news p:last-of-type {
	margin-bottom: 0
}

.news .text-block img:not([class]) {
	max-width: 100%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain
}

.media-slider {
	margin-top: 6.5rem
}

@media (max-width:1023px) {
	.media-slider._main {
		display: block;
		margin: 6.5rem -3rem 6rem
	}
}

@media (max-width:1023px) {
	.media-slider {
		display: none
	}
}

.media-slider__title {
	margin-bottom: 2.5rem;
	margin-left: 27rem;
	color: #d30422;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem
}

@media (max-width:1023px) {
	.media-slider__title {
		margin-left: 3rem
	}
}

@media (max-width:1023px) {
	.media-slider__container {
		padding: 0 3rem
	}
}

.media-slider__item {
	position: relative;
	display: inline-block;
	width: 24rem;
	height: 24rem;
	margin-right: 1.5rem;
	padding: 1.5rem;
	border-radius: .5rem;
	overflow: hidden
}

@media (min-width:1024px) {
	.media-slider__item:hover:after {
		opacity: 1
	}
}

.media-slider__item:after {
	background-color: rgba(0, 0, 0, .3);
	opacity: 0;
	transition: opacity .3s ease;
	content: ""
}

.media-slider__background,
.media-slider__item:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.media-slider__background {
	z-index: -1
}

.media-slider__background img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.media-slider__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	font-style: normal;
	line-height: 2.4rem
}

.media-slider__content h2 {
	margin: 1rem 0;
	font-size: inherit;
	line-height: inherit;
	text-decoration: underline
}

.gallery {
	display: flex;
	height: 34.5rem;
	margin: 2rem 0
}

@media (max-width:640px) {
	.gallery {
		height: auto
	}
}

.gallery._vertical,
.gallery._vertical-snippet {
	position: relative;
	width: calc(100% + 6rem);
	height: 62rem;
	margin: 3rem -3rem -3rem
}

@media (max-width:1023px) {

	.gallery._vertical,
	.gallery._vertical-snippet {
		height: 59rem
	}
}

@media (max-width:640px) {

	.gallery._vertical,
	.gallery._vertical-snippet {
		flex-direction: column;
		height: auto
	}
}

.gallery._vertical-snippet .gallery__main,
.gallery._vertical .gallery__main {
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0 0 .5rem .5rem;
	overflow: hidden
}

@media (max-width:640px) {

	.gallery._vertical-snippet .gallery__main,
	.gallery._vertical .gallery__main {
		height: 32rem;
		margin-bottom: 3rem;
		padding: 0 3rem
	}
}

@media (max-width:360px) {

	.gallery._vertical-snippet .gallery__main,
	.gallery._vertical .gallery__main {
		height: 29rem
	}
}

.gallery._vertical-snippet .gallery__main .video,
.gallery._vertical .gallery__main .video {
	margin: 0
}

.gallery._vertical-snippet .gallery__item,
.gallery._vertical .gallery__item {
	display: block
}

@media (max-width:640px) {

	.gallery._vertical-snippet .gallery__tabs-slider,
	.gallery._vertical .gallery__tabs-slider {
		padding: 0 3rem 3rem
	}

	.gallery._vertical-snippet .gallery__tabs-slider .flickity-page-dots,
	.gallery._vertical .gallery__tabs-slider .flickity-page-dots {
		display: none
	}
}

.gallery._vertical-snippet .gallery__tabs,
.gallery._vertical .gallery__tabs {
	position: absolute;
	top: calc(100% + 3rem);
	left: 0;
	display: flex;
	width: 100%;
	height: auto
}

@media (max-width:640px) {

	.gallery._vertical-snippet .gallery__tabs,
	.gallery._vertical .gallery__tabs {
		position: relative;
		top: auto;
		left: auto
	}
}

.gallery._vertical-snippet .gallery__tab,
.gallery._vertical .gallery__tab {
	width: calc((100% - 9rem)/4);
	min-width: 16rem;
	height: 10rem;
	margin-right: 3rem;
	margin-bottom: 0
}

@media (max-width:640px) {

	.gallery._vertical-snippet .gallery__tab,
	.gallery._vertical .gallery__tab {
		height: 7.5rem
	}
}

.gallery._vertical-snippet .gallery__tab:last-child,
.gallery._vertical .gallery__tab:last-child {
	margin-right: 0
}

.gallery._vertical-snippet .flickity-page-dots,
.gallery._vertical .flickity-page-dots {
	position: absolute;
	bottom: -18rem;
	left: 0;
	width: 100%;
	margin: 0
}

.gallery._vertical-snippet {
	flex-direction: column;
	width: 100%;
	height: auto;
	margin: 2rem 0
}

.gallery._vertical-snippet:last-child {
	margin-bottom: 0
}

@media (max-width:1023px) {
	.gallery._vertical-snippet {
		height: auto
	}
}

@media (max-width:640px) {
	.gallery._vertical-snippet {
		flex-direction: column
	}
}

@media (max-width:640px) {
	.gallery._vertical-snippet .gallery__main {
		padding: 0
	}
}

.gallery._vertical-snippet .gallery__item {
	height: auto
}

.gallery._vertical-snippet .gallery__item .video__iframe-wrap {
	height: 39rem;
	padding: 0
}

@media (max-width:1023px) {
	.gallery._vertical-snippet .gallery__item .video__iframe-wrap {
		height: 51.5rem
	}
}

@media (max-width:640px) {
	.gallery._vertical-snippet .gallery__item .video__iframe-wrap {
		height: 33rem
	}
}

.gallery._vertical-snippet .gallery__tabs {
	position: relative;
	top: auto;
	left: auto;
	margin-top: 3rem;
	margin-bottom: 6rem
}

@media (max-width:640px) {
	.gallery._vertical-snippet .gallery__tabs {
		margin-top: 0;
		padding: 0
	}

	.gallery._vertical-snippet .gallery__tabs .gallery__tabs-slider {
		padding: 0
	}
}

.gallery._vertical-snippet .flickity-page-dots {
	position: absolute;
	bottom: 2rem;
	left: 0;
	width: 100%;
	margin: 0
}

.gallery__main {
	width: 100%;
	max-width: 68rem;
	margin-right: 3rem
}

@media (max-width:640px) {
	.gallery__main {
		margin-right: 0
	}

	.gallery__main:after {
		display: none;
		content: "flickity"
	}
}

.gallery__item {
	display: none;
	width: 100%;
	height: 100%
}

@media (max-width:640px) {
	.gallery__item {
		display: block;
		height: 43.5rem;
		margin-right: 3rem
	}
}

.gallery__item._active {
	display: block
}

.gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover
}

.gallery__tabs {
	flex-shrink: 0;
	width: 16rem;
	height: 100%;
	max-height: 50rem
}

@media (max-width:640px) {
	.gallery__tabs {
		display: none
	}
}

.gallery__tabs-wrap {
	width: 100%;
	height: 100%;
	overflow: hidden
}

.gallery__tab {
	display: block;
	width: 100%;
	height: 7.5rem;
	margin-bottom: 1.5rem;
	padding: 0;
	border: 0;
	background-color: transparent;
	opacity: .7;
	transition: opacity .3s ease
}

.gallery__tab._active,
.gallery__tab.is-nav-selected {
	opacity: 1
}

.gallery__tab:last-child {
	margin-bottom: 0
}

.gallery__tab img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover
}

.video {
	margin: 2rem 0
}

.video__iframe-wrap {
	position: relative;
	height: 0;
	padding-bottom: 61.7%;
	background-position: 50%;
	background-size: cover
}

.video__iframe-wrap:after {
	background-color: rgba(0, 0, 0, .4);
	content: ""
}

.video__iframe-wrap:after,
.video__iframe-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.video__iframe-wrap iframe {
	z-index: 3
}

.video__play {
	position: absolute;
	top: calc(50% - 4.3rem);
	left: calc(50% - 4.3rem);
	z-index: 2;
	display: block;
	width: 8.6rem;
	height: 8.6rem;
	border: 0;
	background-color: transparent
}

.video__play svg {
	width: 100%;
	height: 100%
}

.timeline {
	position: absolute;
	top: 0;
	left: calc(100% + 3rem);
	width: 22.5rem;
	margin-top: 5rem;
	margin-bottom: -1rem
}

@media (max-width:1023px) {
	.timeline {
		right: 0;
		left: auto;
		padding-left: 3rem
	}
}

@media (max-width:640px) {
	.timeline {
		display: none
	}
}

@media (min-width:641px) {
	.timeline._mobile {
		display: none
	}
}

@media (max-width:640px) {
	.timeline._mobile {
		position: relative;
		top: auto;
		right: auto;
		display: block;
		margin-top: 4rem;
		padding: 0
	}
}

.timeline__item._open .timeline__list {
	display: flex;
	margin-top: 2.2rem;
	margin-bottom: .9rem
}

.timeline__item._open .timeline__head {
	pointer-events: none
}

.timeline__item._open .timeline__head a {
	text-decoration: none
}

.timeline__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: .6rem;
	pointer-events: auto
}

.timeline__head a {
	font-size: 2rem;
	font-family: RussianRail, sans-serif;
	line-height: 2.4rem
}

.timeline__list {
	display: none;
	flex-direction: column;
	align-items: flex-start;
	padding-left: 3rem;
	font-size: 1.4rem;
	line-height: 1.7rem;
	transition: opacity 3s ease
}

.timeline__list a {
	margin-bottom: 1.5rem;
	font-family: FSRailway, sans-serif;
	transition: color .3s ease
}

.timeline__list a:before {
	position: absolute;
	top: 50%;
	left: -3rem;
	width: 1.6rem;
	height: 2rem;
	background-image: url(../i/file-timeline.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
	content: ""
}

.timeline__list a._active {
	color: #d30422
}

.timeline a {
	text-decoration: underline
}

.projects-wrap,
.timeline a {
	position: relative
}

.projects-menu {
	width: calc(100% + 28.5rem);
	margin-top: 4rem;
	font-family: RussianRail, sans-serif;
	-moz-column-count: 2;
	column-count: 2;
	-moz-column-gap: 0;
	column-gap: 0
}

@media (max-width:1023px) {
	.projects-menu {
		width: 100%
	}
}

@media (max-width:640px) {
	.projects-menu {
		-moz-column-count: 1;
		column-count: 1
	}
}

.projects-menu a {
	display: table;
	margin-bottom: 1.5rem;
	padding-right: 3rem;
	color: #d30422;
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.2;
	text-decoration: underline;
	word-break: break-word;
	transition: color .3s ease
}

@media (max-width:640px) {
	.projects-menu a {
		font-size: 2.4rem
	}
}

@media (min-width:1024px) {
	.projects-menu a:hover {
		color: #646566
	}
}

.projects-container {
	width: calc(100% + 1.5rem)
}

@media (max-width:1023px) {
	.projects-container {
		width: calc(100% - 1.5rem);
		margin-left: 2rem
	}
}

@media (max-width:640px) {
	.projects-container {
		width: 100%;
		margin-left: 0
	}
}

.project-wrap {
	display: flex
}

@media (max-width:640px) {
	.project-wrap {
		width: calc(100% + 6rem);
		margin: 0 -3rem;
		border-radius: 0
	}
}

.project-wrap .container-sm {
	margin-left: 0
}

.project {
	margin-bottom: 3rem;
	border-radius: .5rem;
	overflow: hidden;
	background-color: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.project {
		width: 100%
	}
}

@media (max-width:640px) {
	.project {
		border-radius: 0
	}
}

.project:last-of-type {
	margin-bottom: 0
}

.project._with-small-img .project__body img {
	float: left;
	width: 21rem;
	margin: 0 2rem 1rem 0
}

.project._with-img .project__header {
	position: relative;
	height: 36rem;
	background-color: #fff
}

.project._with-img .project__header:before {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 50%;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .76));
	content: ""
}

.project._with-img .project__header h2 {
	position: relative;
	z-index: 2;
	color: #fff
}

.project._with-img .project__img {
	display: block
}

.project__header {
	display: flex;
	padding: 2.5rem 3rem;
	background-color: #e0e0e0
}

.project__header h2 {
	align-self: flex-end;
	color: #646566;
	font-size: 2rem;
	line-height: 2.4rem
}

.project__img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: none;
	width: 100%;
	height: 100%
}

.project__img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.project__body {
	padding: 2.5rem 3rem
}

.project__body:after {
	display: table;
	clear: both;
	content: ""
}

.project__body img:not([class]) {
	max-width: 100%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain
}

.map-projects {
	width: calc(100% + 7.5rem);
	height: 52rem;
	margin: 0 -3rem 3rem -4.5rem
}

@media (max-width:1023px) {
	.map-projects {
		width: calc(100% + 6rem);
		margin-left: -3rem
	}
}

.popup-tip-anchor {
	position: absolute;
	height: 0;
	transform: translateY(-100%)
}

.popup-bubble-anchor {
	position: absolute;
	bottom: 2rem;
	left: 2rem;
	width: 100%
}

.map-popup {
	width: 13rem;
	height: 0;
	padding: 0;
	border-radius: .8rem;
	overflow: hidden;
	color: #fff;
	font-size: 1rem;
	font-family: FSRailway, sans-serif;
	background: #000;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
	visibility: hidden;
	opacity: 0;
	transition: opacity .3s ease, visibility .3s ease
}

.map-popup,
.map-popup b,
.map-popup span {
	display: block
}

.map-popup--active {
	height: auto;
	padding: .6rem .7rem;
	visibility: visible;
	opacity: 1
}

.map-country {
	color: #d30422;
	font-weight: 700
}

@media (min-width:1024px) {
	.map-country:hover {
		text-decoration: underline
	}
}

@media (max-width:1023px) {
	.solution {
		display: flex
	}
}

.solution .text-block>h2 {
	color: #d30422
}

.solution__title {
	position: relative;
	max-width: 132rem;
	padding-right: 3rem;
	padding-left: 4.5rem;
	display: flex;
	align-items: flex-end;
	height: 25.5rem;
	margin-bottom: 4rem;
	padding-bottom: 2rem
}

@media (max-width:1023px) {
	.solution__title {
		padding-right: 3rem;
		padding-left: 3rem;
		margin-top: 1rem
	}
}

.solution__title h1 {
	width: 73.5rem;
	margin: 0 auto;
	color: #fff;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 4.3rem;
	text-transform: uppercase
}

@media (max-width:1023px) {
	.solution__title h1 {
		margin-left: 0
	}
}

.solution__banner {
	position: absolute;
	top: 0;
	right: 3rem;
	left: 3rem;
	z-index: -1;
	height: 100%;
	border-radius: .5rem;
	overflow: hidden
}

@media (max-width:1023px) {
	.solution__banner {
		right: 0;
		left: 0;
		border-radius: 0
	}
}

.solution__banner:after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 75%;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .5) 78.94%);
	content: ""
}

.solution__banner img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.solution__cards {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 28.5rem);
	margin-left: -3rem
}

@media (max-width:1023px) {
	.solution__cards {
		width: calc(100% + 3rem)
	}
}

@media (max-width:640px) {
	.solution__cards {
		width: 100%;
		margin-left: 0
	}
}

.solution__cards._projects .solution-card {
	height: 24rem
}

@media (min-width:1024px) {
	.solution__cards._projects .solution-card:hover .solution-card__arrow i {
		background-color: #d30422
	}

	.solution__cards._projects .solution-card:hover .solution-card__arrow i svg {
		fill: #fff
	}
}

.solution__cards._projects .solution-card__title {
	flex-direction: column;
	align-items: flex-start;
	padding-right: 5rem
}

.solution-menu {
	position: absolute;
	top: 0;
	left: 4.5rem;
	width: 22.5rem;
	margin-bottom: -1rem;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.7rem
}

@media (max-width:1023px) {
	.solution-menu {
		position: relative;
		left: 0;
		margin-right: 2rem
	}
}

@media (max-width:640px) {
	.solution-menu {
		display: none
	}
}

.solution-menu__title {
	font-weight: 700
}

.solution-menu__title:not(:first-child) {
	margin-top: 1rem
}

.solution-menu a {
	display: block;
	margin-bottom: 1rem;
	overflow: hidden;
	text-overflow: ellipsis
}

.solution-card {
	position: relative;
	display: flex;
	width: calc(50% - 1.5rem);
	height: 31.5rem;
	margin-bottom: 3rem;
	margin-left: 1.5rem;
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.solution-card {
		height: 24rem
	}
}

@media (max-width:640px) {
	.solution-card {
		width: 100%;
		height: 30rem;
		margin-left: 0
	}
}

.solution-card:after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 60%;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .8) 99.99%);
	content: ""
}

@media (min-width:1024px) {
	.solution-card:hover h2 {
		text-decoration: underline
	}
}

.solution-card__title {
	display: flex;
	align-items: center;
	align-self: flex-end;
	width: 100%;
	min-height: 10rem;
	padding: 2.5rem 3rem;
	font-family: RussianRail, sans-serif
}

.solution-card__title h2 {
	z-index: 1;
	margin: 0;
	color: #fff
}

.solution-card__title p {
	z-index: 1;
	margin: 0 0 .5rem -.5rem;
	padding: 0 .5rem;
	color: #fff;
	font-size: 1.4rem;
	background-color: #646566
}

.solution-card__img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%
}

.solution-card__img img {
	width: 100%;
	height: 100%;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover
}

.solution-card__arrow {
	position: absolute;
	right: 1.5rem;
	bottom: 3rem;
	z-index: 2;
	transition: opacity .3s ease
}

.solution-card__arrow i {
	background-color: #f2f2f2
}

.solution-card__arrow i svg {
	fill: #646566
}

.products-wrap {
	width: calc(100% - 25.5rem);
	margin-left: 25.5rem
}

@media (max-width:1023px) {
	.products-wrap {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin-left: 0
	}
}

.products-wrap h2 {
	margin-bottom: 2rem;
	color: #d30422;
	font-size: 3.6rem;
	line-height: 1.2
}

.products-block {
	display: flex;
	flex-wrap: wrap;
	margin-left: -1.5rem
}

@media (max-width:1023px) {
	.products-block {
		margin-left: 0
	}
}

.products-block:last-child {
	min-height: 35rem
}

.products-block__item {
	width: calc(50% - .75rem);
	margin-bottom: 3rem
}

.products-block__item:nth-child(odd) {
	margin-right: 1.5rem
}

@media (max-width:640px) {
	.products-block__item:nth-child(odd) {
		margin-right: 0
	}
}

@media (max-width:1023px) {
	.products-block__item {
		margin-bottom: 2rem
	}
}

@media (max-width:640px) {
	.products-block__item {
		width: 100%
	}
}

.products-block__header {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 11rem;
	padding: 1.5rem;
	border-radius: .5rem;
	overflow: hidden
}

.products-block__header h2 {
	position: relative;
	z-index: 2;
	max-width: 45rem;
	margin-bottom: 0;
	color: #fff;
	font-size: 2.4rem;
	line-height: 2.9rem
}

.products-block__img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%
}

.products-block__img img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover
}

.products-block__product {
	display: block;
	padding: 2rem 1.5rem
}

@media (min-width:1024px) {
	.products-block__product:hover h2 {
		text-decoration: none
	}
}

.products-block__product h2 {
	margin: 0 0 1rem;
	color: #d30422;
	font-size: 2rem;
	line-height: 2.4rem;
	text-decoration: underline
}

.products-block__product p {
	margin-top: 1rem
}

.products-block__product p:last-child {
	margin-bottom: 0
}

.product-banner {
	position: relative;
	display: flex;
	padding: 5rem 3rem 5rem 1.5rem
}

@media (max-width:1023px) {
	.product-banner {
		padding: 5rem 0 3rem 3rem
	}
}

@media (max-width:640px) {
	.product-banner {
		flex-direction: column;
		padding: 5rem 3rem 3rem
	}
}

.product-banner__background {
	position: absolute;
	top: 0;
	right: 0;
	left: -1.5rem;
	z-index: -1;
	height: 100%;
	border-radius: .5rem;
	overflow: hidden;
	background-color: #d30d19
}

@media (max-width:1023px) {
	.product-banner__background {
		right: 0;
		left: 0
	}
}

.product-banner__background img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.product-banner__content {
	width: 47%;
	color: #fff
}

@media (max-width:1023px) {
	.product-banner__content {
		width: 50%
	}
}

@media (max-width:640px) {
	.product-banner__content {
		width: 100%;
		margin-bottom: 3rem
	}
}

.product-banner__content h1 {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 4.3rem
}

.product-banner__content h2 {
	font-size: 2rem;
	line-height: 2.4rem;
	text-transform: none
}

.product-banner__content p {
	margin: 3rem 0 0
}

.product-banner__img {
	display: flex;
	flex-grow: 1;
	align-items: center;
	justify-content: center;
	max-width: 53%
}

@media (max-width:1023px) {
	.product-banner__img {
		width: 50%
	}
}

@media (max-width:640px) {
	.product-banner__img {
		width: 100%;
		max-width: 100%
	}
}

.product-banner__img img {
	width: 90%;
	height: 100%;
	max-height: 40rem;
	-o-object-fit: contain;
	object-fit: contain
}

@media (max-width:640px) {
	.product-banner__img img {
		width: 100%
	}
}

.product {
	display: flex
}

@media (max-width:640px) {
	.product {
		flex-direction: column-reverse
	}
}

.product .text-block {
	width: 73.5rem
}

@media (max-width:1023px) {
	.product .text-block {
		width: 100%
	}
}

.product .text-block:only-child {
	margin-left: 25.5rem
}

@media (max-width:1023px) {
	.product .text-block:only-child {
		width: 100%;
		margin-left: 0
	}
}

.product h2 {
	color: #d30422
}

.product-zoom {
	flex-shrink: 0;
	width: 22.5rem;
	margin: 6rem 3rem 0 0
}

@media (max-width:640px) {
	.product-zoom {
		width: 100%
	}
}

.product-zoom h3 {
	margin-bottom: 1rem;
	color: #d30422;
	font-size: 1.4rem;
	line-height: 1.7rem
}

@media (max-width:640px) {
	.product-zoom h3 {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 2.2rem
	}
}

.product-zoom__wrap {
	position: relative;
	display: block;
	min-height: 15rem
}

@media (max-width:640px) {
	.product-zoom__wrap {
		width: calc(100% + 6rem);
		margin-left: -3rem;
		pointer-events: none
	}
}

@media (min-width:1024px) {
	.product-zoom__wrap:hover .product-zoom__inner p {
		text-decoration: none
	}

	.product-zoom__wrap:hover .product-zoom__icon {
		transform: scale(1.1)
	}
}

.product-zoom__inner {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%
}

@media (max-width:640px) {
	.product-zoom__inner {
		display: none
	}
}

.product-zoom__inner p {
	margin: 1rem 0 0;
	color: #d30422;
	font-size: 1.4rem;
	font-family: RussianRail, sans-serif;
	line-height: 1.7rem;
	text-decoration: underline
}

.product-zoom__img {
	position: relative;
	z-index: -1;
	width: 100%;
	height: 100%
}

@media (max-width:640px) {
	.product-zoom__img {
		max-height: none
	}
}

.product-zoom__img:after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: #f4f4f4;
	opacity: .8;
	content: ""
}

@media (max-width:640px) {
	.product-zoom__img:after {
		display: none
	}
}

.product-zoom__img img {
	display: block;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.product-zoom__icon {
	width: 7rem;
	height: 7rem;
	transition: transform .3s ease
}

.product-zoom__icon img {
	width: 100%;
	margin: 0
}

.features-wrap {
	margin: 3rem 0
}

.features-wrap h2 {
	margin: 2rem 0 2rem 25.5rem;
	color: #d30422;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.4rem
}

@media (max-width:1023px) {
	.features-wrap h2 {
		margin-left: 0
	}
}

.features {
	width: calc(100% + 1.5rem);
	margin-bottom: 3rem;
	margin-left: -1.5rem;
	padding: 3rem;
	border-radius: .5rem;
	background-color: #fff;
	box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .15)
}

@media (max-width:1023px) {
	.features {
		width: 100%;
		margin-left: 0
	}
}

.features ul {
	margin-bottom: 4rem;
	-moz-column-count: 2;
	column-count: 2;
	-moz-column-gap: 3rem;
	column-gap: 3rem
}

@media (max-width:640px) {
	.features ul {
		-moz-column-count: 1;
		column-count: 1
	}
}

.features ul:last-child {
	margin-bottom: 0
}

.features ul li {
	position: relative;
	margin-bottom: 2rem;
	padding-left: 2rem;
	page-break-inside: avoid;
	-moz-column-break-inside: avoid;
	break-inside: avoid-column
}

.features ul li:last-child {
	margin: 0
}

.features ul li p:first-child {
	margin-top: 0
}

.features ul li p:last-child {
	margin-bottom: 0
}

.features ul li:after {
	position: absolute;
	top: .8rem;
	left: 0;
	width: .6rem;
	height: .6rem;
	background-color: #d30422;
	content: ""
}

.file {
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 5px;
	background-color: #ccc;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .15)
}

@media (max-width:640px) {
	.file {
		width: 100%;
		max-width: calc(100% - 10rem)
	}
}

.file._large-file {
	border: 2px solid #d30422 !important;
	color: #d30422;
	background-color: transparent;
	box-shadow: none
}

.file._large-file svg {
	fill: #d30422
}

@media (max-width:640px) {
	.file {
		max-width: 100%
	}
}

.file label {
	position: relative;
	display: block;
	flex-shrink: 0;
	width: 100%;
	padding: 1.2rem 5rem;
	overflow: hidden;
	font-size: 1.5rem;
	white-space: nowrap;
	text-overflow: ellipsis
}

.file .btn._clear {
	position: absolute;
	top: 50%;
	right: 1.2rem;
	display: none;
	transform: translateY(-50%)
}

.file._filled {
	border: 1px dashed #ccc;
	background-color: transparent;
	box-shadow: none;
	transition: border .3s ease
}

.file._filled .btn._clear {
	display: block
}

.not-found {
	margin-bottom: 5.5rem
}

.not-found__container {
	display: flex;
	width: 90rem;
	margin: 0 auto 2rem
}

@media (max-width:640px) {
	.not-found__container {
		width: 100%;
		margin-top: 3rem
	}
}

.not-found__code {
	margin-right: 5rem;
	color: #d30422;
	font-size: 20rem;
	font-family: RussianRail, sans-serif;
	line-height: 1
}

@media (max-width:640px) {
	.not-found__code {
		margin-right: 2rem;
		font-size: 12rem
	}
}

@media (max-width:360px) {
	.not-found__code {
		font-size: 10rem
	}
}

.not-found__info {
	margin-top: 2.5rem;
	font-size: 5rem;
	line-height: 1
}

@media (max-width:640px) {
	.not-found__info {
		margin-top: 1.5rem;
		font-size: 3.5rem
	}
}

@media (max-width:480px) {
	.not-found__info {
		margin-top: 1rem;
		font-size: 3rem
	}
}

.not-found__help {
	width: 90rem;
	margin: 0 auto
}

@media (max-width:640px) {
	.not-found__help {
		width: 100%
	}
}

.not-found__help a {
	color: #d30422;
	transition: color .3s ease
}

@media (min-width:1024px) {
	.not-found__help a:hover {
		color: #646566
	}
}
	@media (min-width: 1024px) {
	.lifecycle__circle #bx_3218110189_299, .lifecycle__circle #bx_3218110189_1113 {
transform: rotate(-450deg) translate(12.45rem) rotate(450deg) !important;
}
	.lifecycle__circle  #bx_3218110189_300, .lifecycle__circle  #bx_3218110189_1112 {
transform: rotate(-405deg) translate(12.45rem) rotate(405deg) !important;
}
	.lifecycle__circle  #bx_3218110189_9880, .lifecycle__circle #bx_3218110189_9882 {
transform: rotate(-350deg) translate(12.45rem) rotate(350deg) !important;
}
}
