:root {
	--container-width: 103rem;
	--container-width-narrow: 60rem;
	--paddings: 1.5rem;
	--gaps: 1rem;
	--color-blue: #4981B8;
	--color-blue-darker: #204B77;
	--color-blue-dark: #123559;
	--color-white: #FFFFFF;
	--color-gray: #EDF1F5;
	--color-gray-darker: #DADFE5;
	--color-border: rgba(0, 0, 0, .15);
	--color-text-dark-h: rgba(0, 0, 0, .95);
	--color-text-dark-m: rgba(0, 0, 0, .70);
	--color-text-dark-l: rgba(0, 0, 0, .35);
	--color-text-light-h: rgba(255, 255, 255, .95);
	--color-text-light-m: rgba(255, 255, 255, .70);
	--color-text-light-l: rgba(255, 255, 255, .35);
	--font-main: "Inter", sans-serif
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

main {
	display: block
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible
}

pre {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -0.25em
}

sup {
	top: -0.5em
}

img {
	border-style: none
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText
}

fieldset {
	padding: .35em .75em .625em
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

details {
	display: block
}

summary {
	display: list-item
}

template {
	display: none
}

[hidden] {
	display: none
}

* {
	box-sizing: border-box
}
.swiper-and-ticket{
	position: relative;
}
.bannerSlider {
	width: 100%;
	height: calc(100svh - 128px)
}

@media screen and (min-width: 768px) {
	.bannerSlider {
		/* height: 40rem */
	}
}

@media screen and (min-width: 300px) {
	.bannerSlider {
		height: 36rem
	}
}

.bannerSlider .bannerSlider-button-prev {
	color: var(--color-text-light-h) !important;
	font-size: 6rem;
	display: none
}

@media screen and (min-width: 768px) {
	.bannerSlider .bannerSlider-button-prev {
		display: flex
	}
}

.bannerSlider .bannerSlider-button-prev::after {
	display: none
}

.bannerSlider .bannerSlider-button-next {
	color: var(--color-text-light-h) !important;
	font-size: 6rem;
	display: none
}

@media screen and (min-width: 768px) {
	.bannerSlider .bannerSlider-button-next {
		display: flex
	}
}

.bannerSlider .bannerSlider-button-next::after {
	display: none
}

.material-symbols-rounded {
	font-size: 1.5rem
}

@media screen and (max-width: 359px) {
	html {
		font-size: 14px
	}
}

@media screen and (max-width: 319px) {
	html {
		font-size: 12px
	}
}

@media screen and (max-width: 279px) {
	html {
		font-size: 10px
	}
}

@media screen and (max-width: 229px) {
	html {
		font-size: 8px
	}
}

@media screen and (max-width: 189px) {
	html {
		font-size: 6px
	}
}

@media screen and (max-width: 139px) {
	html {
		font-size: 4px
	}
}

@media screen and (max-width: 99px) {
	html {
		font-size: 2px
	}
}

@media screen and (max-width: 59px) {
	html {
		font-size: 1px
	}
}

@media screen and (min-width: 1921px) {
	html {
		font-size: 24px
	}
}

@media screen and (min-width: 1921px) {
	html {
		font-size: 20px
	}
}

@media screen and (min-width: 2160px) {
	html {
		font-size: 22px
	}
}

@media screen and (min-width: 2560px) {
	html {
		font-size: 24px
	}
}

@media screen and (min-width: 2960px) {
	html {
		font-size: 28px
	}
}

@media screen and (min-width: 3120px) {
	html {
		font-size: 32px
	}
}

body {
	font-family: var(--font-main)
}

.ticketsBlock-title,
h1,
.title-1,
.hotelPageRooms-title {
	font-size: 2rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2
}

.tenderInnerContacts-title,
.tenderInnerApp-title,
.appealsBlock-title,
.directionsBlock-title,
.hotelsBlock-title,
.govBlock-title,
h2,
.title-2 {
	font-size: 1.75rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.5
}

h3,
.title-3 {
	font-size: 1.5rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.5
}

h4,
.title-4 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	text-transform: none
}

h5,
.title-5 {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-transform: none
}

h6,
.title-6 {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	text-transform: none
}

h6,
.title-6,
h5,
.title-5,
h4,
.title-4,
h3,
.title-3,
h2,
.title-2,
h1,
.title-1,
.hotelPageRooms-title {
	margin-top: 1em;
	margin-bottom: .5em
}

h6:first-child,
.title-6:first-child,
h5:first-child,
.title-5:first-child,
h4:first-child,
.title-4:first-child,
h3:first-child,
.title-3:first-child,
h2:first-child,
.title-2:first-child,
h1:first-child,
.title-1:first-child,
.hotelPageRooms-title:first-child {
	margin-top: 0
}

h6:last-child,
.title-6:last-child,
h5:last-child,
.title-5:last-child,
h4:last-child,
.title-4:last-child,
h3:last-child,
.title-3:last-child,
h2:last-child,
.title-2:last-child,
h1:last-child,
.title-1:last-child,
.hotelPageRooms-title:last-child {
	margin-bottom: 0
}

h6+p,
.title-6+p,
h5+p,
.title-5+p,
h4+p,
.title-4+p,
h3+p,
.title-3+p,
h2+p,
.title-2+p,
h1+p,
.title-1+p,
.hotelPageRooms-title+p,
h6+.p,
.title-6+.p,
h5+.p,
.title-5+.p,
h4+.p,
.title-4+.p,
h3+.p,
.title-3+.p,
h2+.p,
.title-2+.p,
h1+.p,
.title-1+.p,
.hotelPageRooms-title+.p,
h6+ul,
.title-6+ul,
h5+ul,
.title-5+ul,
h4+ul,
.title-4+ul,
h3+ul,
.title-3+ul,
h2+ul,
.title-2+ul,
h1+ul,
.title-1+ul,
.hotelPageRooms-title+ul,
h6+ol,
.title-6+ol,
h5+ol,
.title-5+ol,
h4+ol,
.title-4+ol,
h3+ol,
.title-3+ol,
h2+ol,
.title-2+ol,
h1+ol,
.title-1+ol,
.hotelPageRooms-title+ol {
	margin-top: 0
}

p,
.p {
	font-size: 1rem;
	line-height: 1.5
}

p,
.p {
	margin-top: 1em;
	margin-bottom: 1em
}

p:first-child,
.p:first-child {
	margin-top: 0
}

p:last-child,
.p:last-child {
	margin-bottom: 0
}

p--large,
.p--large {
	font-size: 1.125rem
}

p--small,
.p--small {
	font-size: .875rem
}

p--color--white,
.p--color--white {
	color: var(--color-white)
}

p--color--gray,
.p--color--gray {
	color: var(--color-gray)
}

p--color--gray-darker,
.p--color--gray-darker {
	color: var(--color-gray-darker)
}

p--color--blue,
.p--color--blue {
	color: var(--color-blue)
}

p--color--blue-darker,
.p--color--blue-darker {
	color: var(--color-blue-darker)
}

p--color--blue-dark,
.p--color--blue-dark {
	color: var(--color-blue-dark)
}

p--color--dark-h,
.p--color--dark-h {
	color: var(--color-text-dark-h)
}

p--color--dark-m,
.p--color--dark-m {
	color: var(--color-text-dark-m)
}

p--color--dark-l,
.p--color--dark-l {
	color: var(--color-text-dark-l)
}

p--color--light-h,
.p--color--light-h {
	color: var(--color-text-light-h)
}

p--color--light-m,
.p--color--light-m {
	color: var(--color-text-light-m)
}

p--color--light-l,
.p--color--light-l {
	color: var(--color-text-light-l)
}

ul,
ol {
	font-size: 1rem;
	line-height: 1.2;
	padding-left: 1em;
	margin-top: 0em;
	margin-bottom: 0em
}

li {
	margin-bottom: 1em
}

.section {
	display: flex;
	flex-direction: column;
	align-items: center
}

.section--background--white {
	background: var(--color-white)
}

.section--background--gray {
	background: var(--color-gray)
}

.section--background--gray-darker {
	/*background: var(--color-gray-darker)*/
}

.section--background--blue {
	background: var(--color-blue)
}

.section--background--blue-darker {
	background: var(--color-blue-darker)
}

.section--background--blue-dark {
	background: var(--color-blue-dark)
}

.section--ptop--0 {
	padding-top: 0
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--0 {
		padding-top: 0
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--0 {
		padding-top: 0
	}
}

.section--pleft--0 {
	padding-left: 0
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--0 {
		padding-left: 0
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--0 {
		padding-left: 0
	}
}

.section--pbottom--0 {
	padding-bottom: 0
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--0 {
		padding-bottom: 0
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--0 {
		padding-bottom: 0
	}
}

.section--pright--0 {
	padding-right: 0
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--0 {
		padding-right: 0
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--0 {
		padding-right: 0
	}
}

.section--ptop--0_5 {
	padding-top: .5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--0_5 {
		padding-top: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--0_5 {
		padding-top: .5rem
	}
}

.section--pleft--0_5 {
	padding-left: .5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--0_5 {
		padding-left: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--0_5 {
		padding-left: .5rem
	}
}

.section--pbottom--0_5 {
	padding-bottom: .5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--0_5 {
		padding-bottom: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--0_5 {
		padding-bottom: .5rem
	}
}

.section--pright--0_5 {
	padding-right: .5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--0_5 {
		padding-right: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--0_5 {
		padding-right: .5rem
	}
}

.section--ptop--1 {
	padding-top: 1rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--1 {
		padding-top: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--1 {
		padding-top: 1rem
	}
}

.section--pleft--1 {
	padding-left: 1rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--1 {
		padding-left: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--1 {
		padding-left: 1rem
	}
}

.section--pbottom--1 {
	padding-bottom: 1rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--1 {
		padding-bottom: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--1 {
		padding-bottom: 1rem
	}
}

.section--pright--1 {
	padding-right: 1rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--1 {
		padding-right: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--1 {
		padding-right: 1rem
	}
}

.section--ptop--1_5 {
	padding-top: 1.5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--1_5 {
		padding-top: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--1_5 {
		padding-top: 1.5rem
	}
}

.section--pleft--1_5 {
	padding-left: 1.5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--1_5 {
		padding-left: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--1_5 {
		padding-left: 1.5rem
	}
}

.section--pbottom--1_5 {
	padding-bottom: 1.5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--1_5 {
		padding-bottom: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--1_5 {
		padding-bottom: 1.5rem
	}
}

.section--pright--1_5 {
	padding-right: 1.5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--1_5 {
		padding-right: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--1_5 {
		padding-right: 1.5rem
	}
}

.section--ptop--2 {
	padding-top: 2rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--2 {
		padding-top: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--2 {
		padding-top: 2rem
	}
}

.section--pleft--2 {
	padding-left: 2rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--2 {
		padding-left: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--2 {
		padding-left: 2rem
	}
}

.section--pbottom--2 {
	padding-bottom: 2rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--2 {
		padding-bottom: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--2 {
		padding-bottom: 2rem
	}
}

.section--pright--2 {
	padding-right: 2rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--2 {
		padding-right: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--2 {
		padding-right: 2rem
	}
}

.section--ptop--2_5 {
	padding-top: 2.5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--2_5 {
		padding-top: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--2_5 {
		padding-top: 2.5rem
	}
}

.section--pleft--2_5 {
	padding-left: 2.5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--2_5 {
		padding-left: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--2_5 {
		padding-left: 2.5rem
	}
}

.section--pbottom--2_5 {
	padding-bottom: 2.5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--2_5 {
		padding-bottom: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--2_5 {
		padding-bottom: 2.5rem
	}
}

.section--pright--2_5 {
	padding-right: 2.5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--2_5 {
		padding-right: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--2_5 {
		padding-right: 2.5rem
	}
}

.section--ptop--3 {
	padding-top: 3rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--3 {
		padding-top: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--3 {
		padding-top: 3rem
	}
}

.section--pleft--3 {
	padding-left: 3rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--3 {
		padding-left: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--3 {
		padding-left: 3rem
	}
}

.section--pbottom--3 {
	padding-bottom: 3rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--3 {
		padding-bottom: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--3 {
		padding-bottom: 3rem
	}
}

.section--pright--3 {
	padding-right: 3rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--3 {
		padding-right: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--3 {
		padding-right: 3rem
	}
}

.section--ptop--3_5 {
	padding-top: 3.5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--3_5 {
		padding-top: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--3_5 {
		padding-top: 3.5rem
	}
}

.section--pleft--3_5 {
	padding-left: 3.5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--3_5 {
		padding-left: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--3_5 {
		padding-left: 3.5rem
	}
}

.section--pbottom--3_5 {
	padding-bottom: 3.5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--3_5 {
		padding-bottom: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--3_5 {
		padding-bottom: 3.5rem
	}
}

.section--pright--3_5 {
	padding-right: 3.5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--3_5 {
		padding-right: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--3_5 {
		padding-right: 3.5rem
	}
}

.section--ptop--4 {
	padding-top: 4rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--4 {
		padding-top: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--4 {
		padding-top: 4rem
	}
}

.section--pleft--4 {
	padding-left: 4rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--4 {
		padding-left: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--4 {
		padding-left: 4rem
	}
}

.section--pbottom--4 {
	padding-bottom: 4rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--4 {
		padding-bottom: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--4 {
		padding-bottom: 4rem
	}
}

.section--pright--4 {
	padding-right: 4rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--4 {
		padding-right: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--4 {
		padding-right: 4rem
	}
}

.section--ptop--4_5 {
	padding-top: 4.5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--4_5 {
		padding-top: 4.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--4_5 {
		padding-top: 4.5rem
	}
}

.section--pleft--4_5 {
	padding-left: 4.5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--4_5 {
		padding-left: 4.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--4_5 {
		padding-left: 4.5rem
	}
}

.section--pbottom--4_5 {
	padding-bottom: 4.5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--4_5 {
		padding-bottom: 4.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--4_5 {
		padding-bottom: 4.5rem
	}
}

.section--pright--4_5 {
	padding-right: 4.5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--4_5 {
		padding-right: 4.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--4_5 {
		padding-right: 4.5rem
	}
}

.section--ptop--5 {
	padding-top: 5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--5 {
		padding-top: 5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--5 {
		padding-top: 5rem
	}
}

.section--pleft--5 {
	padding-left: 5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--5 {
		padding-left: 5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--5 {
		padding-left: 5rem
	}
}

.section--pbottom--5 {
	padding-bottom: 5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--5 {
		padding-bottom: 5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--5 {
		padding-bottom: 5rem
	}
}

.section--pright--5 {
	padding-right: 5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--5 {
		padding-right: 5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--5 {
		padding-right: 5rem
	}
}

.section--ptop--5_5 {
	padding-top: 5.5rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--5_5 {
		padding-top: 5.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--5_5 {
		padding-top: 5.5rem
	}
}

.section--pleft--5_5 {
	padding-left: 5.5rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--5_5 {
		padding-left: 5.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--5_5 {
		padding-left: 5.5rem
	}
}

.section--pbottom--5_5 {
	padding-bottom: 5.5rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--5_5 {
		padding-bottom: 5.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--5_5 {
		padding-bottom: 5.5rem
	}
}

.section--pright--5_5 {
	padding-right: 5.5rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--5_5 {
		padding-right: 5.5rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--5_5 {
		padding-right: 5.5rem
	}
}

.section--ptop--6 {
	padding-top: 6rem
}

@media screen and (min-width: 768px) {
	.section--ptop_tablet--6 {
		padding-top: 6rem
	}
}

@media screen and (min-width: 1200px) {
	.section--ptop_desktop--6 {
		padding-top: 6rem
	}
}

.section--pleft--6 {
	padding-left: 6rem
}

@media screen and (min-width: 768px) {
	.section--pleft_tablet--6 {
		padding-left: 6rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pleft_desktop--6 {
		padding-left: 6rem
	}
}

.section--pbottom--6 {
	padding-bottom: 6rem
}

@media screen and (min-width: 768px) {
	.section--pbottom_tablet--6 {
		padding-bottom: 6rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pbottom_desktop--6 {
		padding-bottom: 6rem
	}
}

.section--pright--6 {
	padding-right: 6rem
}

@media screen and (min-width: 768px) {
	.section--pright_tablet--6 {
		padding-right: 6rem
	}
}

@media screen and (min-width: 1200px) {
	.section--pright_desktop--6 {
		padding-right: 6rem
	}
}

.container,
.trainTimetableBlock-container,
.tenderInnerContacts-container,
.tenderInnerApp-container,
.tenderInnerInfo-container,
.hotelPageRooms-container,
.hotelPageContent-container,
.contactsPageSchedule-container,
.contactsPageContacts-container,
.newsBlock-container,
.appealsBlock-container,
.directionsBlock-container,
.hotelsBlock-container,
.govBlock-container,
.ticketsBlock-container,
.banner-container,
.header-container,
.articleHeader-container,
.footer-container,
.topMenu-container,
.extraMenu-container {
	width: 100%;
	max-width: var(--container-width);
	padding: 0 var(--paddings)
}

.container--narrow,
.trainTimetableBlock-container,
.tenderInnerContacts-container,
.tenderInnerApp-container,
.tenderInnerInfo-container,
.contactsPageSchedule-container,
.contactsPageContacts-container,
.header-container--narrow {
	max-width: var(--container-width-narrow)
}

.container--ptop--0 {
	padding-top: 0
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--0 {
		padding-top: 0
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--0 {
		padding-top: 0
	}
}

.container--pleft--0 {
	padding-left: 0
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--0 {
		padding-left: 0
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--0 {
		padding-left: 0
	}
}

.container--pbottom--0 {
	padding-bottom: 0
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--0 {
		padding-bottom: 0
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--0 {
		padding-bottom: 0
	}
}

.container--pright--0 {
	padding-right: 0
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--0 {
		padding-right: 0
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--0 {
		padding-right: 0
	}
}

.container--ptop--0_5 {
	padding-top: .5rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--0_5 {
		padding-top: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--0_5 {
		padding-top: .5rem
	}
}

.container--pleft--0_5 {
	padding-left: .5rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--0_5 {
		padding-left: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--0_5 {
		padding-left: .5rem
	}
}

.container--pbottom--0_5 {
	padding-bottom: .5rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--0_5 {
		padding-bottom: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--0_5 {
		padding-bottom: .5rem
	}
}

.container--pright--0_5 {
	padding-right: .5rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--0_5 {
		padding-right: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--0_5 {
		padding-right: .5rem
	}
}

.container--ptop--1 {
	padding-top: 1rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--1 {
		padding-top: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--1 {
		padding-top: 1rem
	}
}

.container--pleft--1 {
	padding-left: 1rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--1 {
		padding-left: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--1 {
		padding-left: 1rem
	}
}

.container--pbottom--1 {
	padding-bottom: 1rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--1 {
		padding-bottom: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--1 {
		padding-bottom: 1rem
	}
}

.container--pright--1 {
	padding-right: 1rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--1 {
		padding-right: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--1 {
		padding-right: 1rem
	}
}

.container--ptop--1_5 {
	padding-top: 1.5rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--1_5 {
		padding-top: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--1_5 {
		padding-top: 1.5rem
	}
}

.container--pleft--1_5 {
	padding-left: 1.5rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--1_5 {
		padding-left: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--1_5 {
		padding-left: 1.5rem
	}
}

.container--pbottom--1_5 {
	padding-bottom: 1.5rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--1_5 {
		padding-bottom: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--1_5 {
		padding-bottom: 1.5rem
	}
}

.container--pright--1_5 {
	padding-right: 1.5rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--1_5 {
		padding-right: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--1_5 {
		padding-right: 1.5rem
	}
}

.container--ptop--2 {
	padding-top: 2rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--2 {
		padding-top: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--2 {
		padding-top: 2rem
	}
}

.container--pleft--2 {
	padding-left: 2rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--2 {
		padding-left: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--2 {
		padding-left: 2rem
	}
}

.container--pbottom--2 {
	padding-bottom: 2rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--2 {
		padding-bottom: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--2 {
		padding-bottom: 2rem
	}
}

.container--pright--2 {
	padding-right: 2rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--2 {
		padding-right: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--2 {
		padding-right: 2rem
	}
}

.container--ptop--2_5 {
	padding-top: 2.5rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--2_5 {
		padding-top: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--2_5 {
		padding-top: 2.5rem
	}
}

.container--pleft--2_5 {
	padding-left: 2.5rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--2_5 {
		padding-left: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--2_5 {
		padding-left: 2.5rem
	}
}

.container--pbottom--2_5 {
	padding-bottom: 2.5rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--2_5 {
		padding-bottom: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--2_5 {
		padding-bottom: 2.5rem
	}
}

.container--pright--2_5 {
	padding-right: 2.5rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--2_5 {
		padding-right: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--2_5 {
		padding-right: 2.5rem
	}
}

.container--ptop--3 {
	padding-top: 3rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--3 {
		padding-top: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--3 {
		padding-top: 3rem
	}
}

.container--pleft--3 {
	padding-left: 3rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--3 {
		padding-left: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--3 {
		padding-left: 3rem
	}
}

.container--pbottom--3 {
	padding-bottom: 3rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--3 {
		padding-bottom: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--3 {
		padding-bottom: 3rem
	}
}

.container--pright--3 {
	padding-right: 3rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--3 {
		padding-right: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--3 {
		padding-right: 3rem
	}
}

.container--ptop--3_5 {
	padding-top: 3.5rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--3_5 {
		padding-top: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--3_5 {
		padding-top: 3.5rem
	}
}

.container--pleft--3_5 {
	padding-left: 3.5rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--3_5 {
		padding-left: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--3_5 {
		padding-left: 3.5rem
	}
}

.container--pbottom--3_5 {
	padding-bottom: 3.5rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--3_5 {
		padding-bottom: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--3_5 {
		padding-bottom: 3.5rem
	}
}

.container--pright--3_5 {
	padding-right: 3.5rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--3_5 {
		padding-right: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--3_5 {
		padding-right: 3.5rem
	}
}

.container--ptop--4 {
	padding-top: 4rem
}

@media screen and (min-width: 768px) {
	.container--ptop_tablet--4 {
		padding-top: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.container--ptop_desktop--4 {
		padding-top: 4rem
	}
}

.container--pleft--4 {
	padding-left: 4rem
}

@media screen and (min-width: 768px) {
	.container--pleft_tablet--4 {
		padding-left: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pleft_desktop--4 {
		padding-left: 4rem
	}
}

.container--pbottom--4 {
	padding-bottom: 4rem
}

@media screen and (min-width: 768px) {
	.container--pbottom_tablet--4 {
		padding-bottom: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pbottom_desktop--4 {
		padding-bottom: 4rem
	}
}

.container--pright--4 {
	padding-right: 4rem
}

@media screen and (min-width: 768px) {
	.container--pright_tablet--4 {
		padding-right: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.container--pright_desktop--4 {
		padding-right: 4rem
	}
}

.extraMenu {
	background: var(--color-blue-darker);
	color: var(--color-text-light-h);
	padding: 1rem 0;
	display: flex;
	align-items: center;
	justify-content: center
}

.extraMenu-container {
	display: flex;
	justify-content: space-between
}

.extraMenu-list {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--gaps)
}

.extraMenu-item {
	margin-bottom: 0
}

.extraMenu-link {
	color: var(--color-text-light-h);
	text-decoration: none;
	font-size: .75rem;
	display: flex;
	align-items: center;
	gap: .25rem
}

.extraMenu-link--selected {
	text-decoration: underline
}

.extraMenu-icon {
	font-size: 1rem
}

.topMenu {
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	/*background: var(--color-blue);*/
	background: #1C5796;
	color: var(--color-text-light-h);
	width: 100%;
	position: sticky;
	left: 0;
	top: 0;
	z-index: 10
}

.topMenu-container {
	padding: 0;
	position: relative;
	display: grid;
	grid-template-areas: "logo buttons""nav nav"
}

@media screen and (min-width: 1200px) {
	.topMenu-container {
		grid-template-areas: "logo nav buttons"
	}
}

.topMenu-logoWrapper {
	display: flex;
	padding: 0 var(--paddings);
	grid-area: logo
}

.topMenu-logo {
	width: 5rem;
	height: 5rem;
	background: url("../images/topMenu-logo.svg") no-repeat center;
	background-size: contain
}

.topMenu-buttons {
	grid-area: buttons;
	display: flex;
	justify-content: end;
	align-items: center;
	gap: var(--gaps);
	padding: var(--paddings)
}

.topMenu-button {
	border: none;
	background: none;
	padding: 0;
	color: var(--color-text-light-h);
	width: 2rem;
	height: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer
}

.topMenu-button:active {
	transform: scale(0.9)
}

@media screen and (min-width: 1200px) {
	.topMenu-button--menu {
		display: none
	}
}

.topMenu-buttonIcon {
	font-size: 1.5rem
}

.topMenu-navigation {
	grid-area: nav;
	overflow: hidden;
	overflow-y: auto;
	height: 0;
	transition: height .3s ease-in-out
}

@media screen and (min-width: 1200px) {
	.topMenu-navigation {
		display: flex;
		overflow-x: visible;
		overflow-y: visible;
		height: auto
	}
}

.topMenu-navigation--visible {
	height: calc(100svh - 5rem)
}

@media screen and (min-width: 1200px) {
	.topMenu-navigation--visible {
		height: auto
	}
}

.topMenu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	height: auto;
	display: flex;
	flex-direction: column
}

@media screen and (min-width: 1200px) {
	.topMenu-list {
		padding: 0;
		flex-direction: row
	}
}

.topMenu-list--parrent {
	padding: var(--paddings)
}

@media screen and (min-width: 1200px) {
	.topMenu-list--parrent {
		display: flex;
		flex-direction: row;
		padding: 0;
		align-self: stretch;
		justify-content: center;
		width: 100%
	}
}

@media screen and (min-width: 1200px) {
	.topMenu-list--dropped {
		background: var(--color-blue-dark)
	}
}

.topMenu-list--nested {
	padding-left: var(--gaps);
	max-height: 0px;
	overflow: hidden;
	opacity: 0;
	transition: max-height .3s ease-in, opacity .2s ease-in .3s
}

@media screen and (min-width: 1200px) {
	.topMenu-list--nested {
		position: absolute;
		top: 5rem;
		flex-direction: column;
		padding-left: 0;
		transition: none
	}
}

.topMenu-list--dropped>.topMenu-list--nested {
	max-height: 800px;
	opacity: 1;
	overflow-y: auto;
}

@media screen and (min-width: 1200px) {
	.topMenu-list--dropped>.topMenu-list--nested {
		background: var(--color-blue-dark)
	}
}

.topMenu-item {
	position: relative;
	flex: 0 1 0;
	margin: 0
}

@media screen and (min-width: 1200px) {
	.topMenu-item {
		display: flex;
		align-items: stretch
	}
}

.topMenu-link {
	display: flex;
	align-items: center;
	justify-content: start;
	padding: var(--gaps);
	gap: .25rem;
	color: var(--color-text-light-h);
	text-decoration: none;
	font-size: 1.1rem;
	background: none;
	border: none;
	cursor: pointer
}

@media screen and (min-width: 1200px) {
	.topMenu-link {
		font-size: 1.1rem;
		padding: .5rem
	}
}

@media screen and (min-width: 1600px) {
	.topMenu-link {
		font-size: 1.1rem;
		padding: var(--gaps)
	}
}

@media screen and (min-width: 1200px) {
	.topMenu-link--dropdown:hover {
		background: var(--color-blue-darker)
	}
}

@media screen and (min-width: 1200px) {
	.topMenu-list--dropped .topMenu-link--dropdown:hover {
		background: var(--color-blue-dark)
	}
}

.topMenu-linkText {
	flex: 0 0 0;
	white-space: nowrap
}

.topMenu-list--nested .topMenu-link:hover .topMenu-linkText {
	text-decoration: underline
}

.topMenu-linkIcon {
	font-size: .75rem
}

.topMenu-linkArrow {
	font-size: .75rem
}

.topMenu-list--dropped .topMenu-linkArrow {
	transform: scaleY(-1)
}

.footer {
	width: 100%;
	background: var(--color-blue-dark);
	color: var(--color-text-light-h);
	padding: 3rem 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center
}

.footer-background {
	display: none;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: url("../images/footer-background.webp") no-repeat center;
	background-size: cover;
	filter: opacity(0.15);
	mix-blend-mode: luminosity
}

@media screen and (min-width: 1200px) {
	.footer-background {
		display: block
	}
}

.footer-container {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr
}

@media screen and (min-width: 1200px) {
	.footer-container {
		grid-template-columns: repeat(4, 1fr)
	}
}

.footer-contacts {
	font-style: normal
}

.footer-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--gaps)
}

.footer-item {
	display: flex;
	gap: .5rem;
	margin: 0
}

.footer-itemBullet {
	font-size: .875rem
}

.footer-link {
	color: var(--color-text-light-h);
	text-decoration: none;
	font-size: .875rem
}

.footer-link:hover {
	text-decoration: underline
}

.footer-title {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0;
	margin-bottom: var(--gaps)
}

.footer-copyrights {
	font-size: .875rem;
	line-height: 1.5;
	color: var(--color-text-light-m)
}

.footerContact {
	display: flex;
	gap: var(--gaps);
	color: var(--color-text-light-h)
}

.footerContact-content {
	display: flex;
	flex-direction: column
}

.footerContact-title {
	font-size: .75rem;
	line-height: 1.5;
	margin: 0;
	font-weight: 400
}

.footerContact-link {
	color: var(--color-text-light-h);
	text-decoration: none
}

.footerContact-link:hover {
	text-decoration: underline
}

.footerContact-text {
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 500;
	margin: 0;
	color: var(--color-text-light-h)
}

.footerContact-caption {
	font-size: .75rem;
	line-height: 1.5;
	color: var(--color-text-light-m);
	margin: 0
}

.footerContact-iconWrapper {
	padding: .6875rem 0;
	display: block
}

.tableBlock {
	width: 100%;
	overflow: auto;
	border: 1px solid var(--color-border);
	border-radius: .5rem
}

.tableBlock-table {
	border-spacing: 0px;
	border-collapse: collapse;
	min-width: 100%
}

.tableBlock-tr {
	background: var(--color-white)
}

.tableBlock-td {
	padding: var(--gaps);
	border-right: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	font-size: .875rem;
	line-height: 1.15
}

.tableBlock-td:last-child {
	border-right: none
}

.tableBlock-tbody .tableBlock-tr:nth-child(odd) {
	background: var(--color-gray-darker)
}

.tableBlock-tbody .tableBlock-tr:last-child .tableBlock-td {
	border-bottom: none
}

.tableBlock-thead .tableBlock-td {
	font-weight: 700
}

figure {
	width: 100%;
	background: var(--color-gray);
	margin: 0;
	display: flex;
	flex-direction: column;
	background: var(--color-blue);
	position: relative
}

figure::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: var(--color-blue);
	mix-blend-mode: screen;
	opacity: .3
}

figcaption {
	padding: var(--gaps);
	color: var(--color-text-dark-m);
	font-size: .875rem;
	line-height: 1.5;
	background: var(--color-gray);
	position: relative;
	z-index: 2
}

figure img {
	width: 100%;
	position: relative;
	z-index: 0
}

.grid {
	display: grid;
	gap: var(--gaps)
}

@media screen and (min-width: 1200px) {
	.grid--columns--1 {
		grid-template-columns: repeat(1, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.grid--columns--2 {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.grid--columns--3 {
		grid-template-columns: repeat(3, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.grid--columns--4 {
		grid-template-columns: repeat(4, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.grid--columns--5 {
		grid-template-columns: repeat(5, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.grid--columns--6 {
		grid-template-columns: repeat(6, 1fr)
	}
}

.grid--ptop--0 {
	padding-top: 0
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--0 {
		padding-top: 0
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--0 {
		padding-top: 0
	}
}

.grid--pleft--0 {
	padding-left: 0
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--0 {
		padding-left: 0
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--0 {
		padding-left: 0
	}
}

.grid--pbottom--0 {
	padding-bottom: 0
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--0 {
		padding-bottom: 0
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--0 {
		padding-bottom: 0
	}
}

.grid--pright--0 {
	padding-right: 0
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--0 {
		padding-right: 0
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--0 {
		padding-right: 0
	}
}

.grid--ptop--0_5 {
	padding-top: .5rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--0_5 {
		padding-top: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--0_5 {
		padding-top: .5rem
	}
}

.grid--pleft--0_5 {
	padding-left: .5rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--0_5 {
		padding-left: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--0_5 {
		padding-left: .5rem
	}
}

.grid--pbottom--0_5 {
	padding-bottom: .5rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--0_5 {
		padding-bottom: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--0_5 {
		padding-bottom: .5rem
	}
}

.grid--pright--0_5 {
	padding-right: .5rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--0_5 {
		padding-right: .5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--0_5 {
		padding-right: .5rem
	}
}

.grid--ptop--1 {
	padding-top: 1rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--1 {
		padding-top: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--1 {
		padding-top: 1rem
	}
}

.grid--pleft--1 {
	padding-left: 1rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--1 {
		padding-left: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--1 {
		padding-left: 1rem
	}
}

.grid--pbottom--1 {
	padding-bottom: 1rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--1 {
		padding-bottom: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--1 {
		padding-bottom: 1rem
	}
}

.grid--pright--1 {
	padding-right: 1rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--1 {
		padding-right: 1rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--1 {
		padding-right: 1rem
	}
}

.grid--ptop--1_5 {
	padding-top: 1.5rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--1_5 {
		padding-top: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--1_5 {
		padding-top: 1.5rem
	}
}

.grid--pleft--1_5 {
	padding-left: 1.5rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--1_5 {
		padding-left: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--1_5 {
		padding-left: 1.5rem
	}
}

.grid--pbottom--1_5 {
	padding-bottom: 1.5rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--1_5 {
		padding-bottom: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--1_5 {
		padding-bottom: 1.5rem
	}
}

.grid--pright--1_5 {
	padding-right: 1.5rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--1_5 {
		padding-right: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--1_5 {
		padding-right: 1.5rem
	}
}

.grid--ptop--2 {
	padding-top: 2rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--2 {
		padding-top: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--2 {
		padding-top: 2rem
	}
}

.grid--pleft--2 {
	padding-left: 2rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--2 {
		padding-left: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--2 {
		padding-left: 2rem
	}
}

.grid--pbottom--2 {
	padding-bottom: 2rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--2 {
		padding-bottom: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--2 {
		padding-bottom: 2rem
	}
}

.grid--pright--2 {
	padding-right: 2rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--2 {
		padding-right: 2rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--2 {
		padding-right: 2rem
	}
}

.grid--ptop--2_5 {
	padding-top: 2.5rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--2_5 {
		padding-top: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--2_5 {
		padding-top: 2.5rem
	}
}

.grid--pleft--2_5 {
	padding-left: 2.5rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--2_5 {
		padding-left: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--2_5 {
		padding-left: 2.5rem
	}
}

.grid--pbottom--2_5 {
	padding-bottom: 2.5rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--2_5 {
		padding-bottom: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--2_5 {
		padding-bottom: 2.5rem
	}
}

.grid--pright--2_5 {
	padding-right: 2.5rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--2_5 {
		padding-right: 2.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--2_5 {
		padding-right: 2.5rem
	}
}

.grid--ptop--3 {
	padding-top: 3rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--3 {
		padding-top: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--3 {
		padding-top: 3rem
	}
}

.grid--pleft--3 {
	padding-left: 3rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--3 {
		padding-left: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--3 {
		padding-left: 3rem
	}
}

.grid--pbottom--3 {
	padding-bottom: 3rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--3 {
		padding-bottom: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--3 {
		padding-bottom: 3rem
	}
}

.grid--pright--3 {
	padding-right: 3rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--3 {
		padding-right: 3rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--3 {
		padding-right: 3rem
	}
}

.grid--ptop--3_5 {
	padding-top: 3.5rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--3_5 {
		padding-top: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--3_5 {
		padding-top: 3.5rem
	}
}

.grid--pleft--3_5 {
	padding-left: 3.5rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--3_5 {
		padding-left: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--3_5 {
		padding-left: 3.5rem
	}
}

.grid--pbottom--3_5 {
	padding-bottom: 3.5rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--3_5 {
		padding-bottom: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--3_5 {
		padding-bottom: 3.5rem
	}
}

.grid--pright--3_5 {
	padding-right: 3.5rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--3_5 {
		padding-right: 3.5rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--3_5 {
		padding-right: 3.5rem
	}
}

.grid--ptop--4 {
	padding-top: 4rem
}

@media screen and (min-width: 768px) {
	.grid--ptop_tablet--4 {
		padding-top: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--ptop_desktop--4 {
		padding-top: 4rem
	}
}

.grid--pleft--4 {
	padding-left: 4rem
}

@media screen and (min-width: 768px) {
	.grid--pleft_tablet--4 {
		padding-left: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pleft_desktop--4 {
		padding-left: 4rem
	}
}

.grid--pbottom--4 {
	padding-bottom: 4rem
}

@media screen and (min-width: 768px) {
	.grid--pbottom_tablet--4 {
		padding-bottom: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pbottom_desktop--4 {
		padding-bottom: 4rem
	}
}

.grid--pright--4 {
	padding-right: 4rem
}

@media screen and (min-width: 768px) {
	.grid--pright_tablet--4 {
		padding-right: 4rem
	}
}

@media screen and (min-width: 1200px) {
	.grid--pright_desktop--4 {
		padding-right: 4rem
	}
}

blockquote {
	background: var(--color-gray);
	margin: 0;
	padding: var(--gaps);
	border-radius: .5rem;
	position: relative;
	padding-left: 5rem;
	font-size: 1rem;
	font-style: italic;
	line-height: 1.5
}

blockquote::before {
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	position: absolute;
	left: 1rem;
	top: 1rem;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjEgMzNMMTYgMjhDMTMuOCAyOCAxMS45MTY3IDI3LjIxNjcgMTAuMzUgMjUuNjVDOC43ODMzMyAyNC4wODMzIDggMjIuMiA4IDIwQzggMTcuOCA4Ljc4MzMzIDE1LjkxNjcgMTAuMzUgMTQuMzVDMTEuOTE2NyAxMi43ODMzIDEzLjggMTIgMTYgMTJDMTguMiAxMiAyMC4wODMzIDEyLjc4MzMgMjEuNjUgMTQuMzVDMjMuMjE2NyAxNS45MTY3IDI0IDE3LjggMjQgMjBDMjQgMjAuNzY2NyAyMy45MDg3IDIxLjQ3NTMgMjMuNzI2IDIyLjEyNkMyMy41NDMzIDIyLjc3NjcgMjMuMjY4IDIzLjQwMTMgMjIuOSAyNEwxNi41NSAzNUMxNi4zODMzIDM1LjMgMTYuMTUgMzUuNTQyIDE1Ljg1IDM1LjcyNkMxNS41NSAzNS45MSAxNS4yMTY3IDM2LjAwMTMgMTQuODUgMzZDMTQuMDgzMyAzNiAxMy41MDg3IDM1LjY2NjcgMTMuMTI2IDM1QzEyLjc0MzMgMzQuMzMzMyAxMi43MzQ3IDMzLjY2NjcgMTMuMSAzM1pNMzEuMSAzM0wzNCAyOEMzMS44IDI4IDI5LjkxNjcgMjcuMjE2NyAyOC4zNSAyNS42NUMyNi43ODMzIDI0LjA4MzMgMjYgMjIuMiAyNiAyMEMyNiAxNy44IDI2Ljc4MzMgMTUuOTE2NyAyOC4zNSAxNC4zNUMyOS45MTY3IDEyLjc4MzMgMzEuOCAxMiAzNCAxMkMzNi4yIDEyIDM4LjA4MzMgMTIuNzgzMyAzOS42NSAxNC4zNUM0MS4yMTY3IDE1LjkxNjcgNDIgMTcuOCA0MiAyMEM0MiAyMC43NjY3IDQxLjkwODcgMjEuNDc1MyA0MS43MjYgMjIuMTI2QzQxLjU0MzMgMjIuNzc2NyA0MS4yNjggMjMuNDAxMyA0MC45IDI0TDM0LjU1IDM1QzM0LjM4MzMgMzUuMyAzNC4xNSAzNS41NDIgMzMuODUgMzUuNzI2QzMzLjU1IDM1LjkxIDMzLjIxNjcgMzYuMDAxMyAzMi44NSAzNkMzMi4wODMzIDM2IDMxLjUwODcgMzUuNjY2NyAzMS4xMjYgMzVDMzAuNzQzMyAzNC4zMzMzIDMwLjczNDcgMzMuNjY2NyAzMS4xIDMzWiIgZmlsbD0iIzQ5ODFCOCIvPgo8L3N2Zz4=")
}

.articleHeader {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: end;
	align-items: center;
	aspect-ratio: 3/2;
	position: relative;
	background: var(--color-blue-dark)
}

@media screen and (min-width: 1200px) {
	.articleHeader {
		aspect-ratio: 16/9
	}
}

.articleHeader-imageWrapper {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0
}

.articleHeader-imageWrapper::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #101820;
	opacity: .5
}

.articleHeader-image {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover
}

.articleHeader-container {
	position: relative;
	z-index: 1;
	color: var(--color-text-light-h);
	padding: 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center
}

@media screen and (min-width: 1200px) {
	.articleHeader-container {
		padding-bottom: 2rem
	}
}

.articleHeader-title {
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 1rem;
	text-transform: none
}

@media screen and (min-width: 1200px) {
	.articleHeader-title {
		font-size: 2rem;
		margin-bottom: 2rem;
		text-transform: uppercase
	}
}

.articleHeader-date {
	display: flex;
	gap: .25rem;
	align-items: center
}

.articleHeader-dateIcon {
	font-size: 1rem
}

@media screen and (min-width: 1200px) {
	.articleHeader-dateIcon {
		font-size: 1.25rem
	}
}

.articleHeader-dateText {
	font-size: .875rem;
	line-height: 1
}

@media screen and (min-width: 1200px) {
	.articleHeader-dateText {
		font-size: 1rem
	}
}

.header {
	width: 100%;
	min-height: 16.25rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 2.5rem;
	padding-bottom: 2rem;
	position: relative;
	background: var(--color-blue-dark)
}

@media screen and (min-width: 1200px) {
	.header {
		min-height: 30rem
	}
}

.header--trainSchedule {
	background: linear-gradient(to bottom, var(--color-blue), var(--color-blue-darker));
	padding-top: 2.5rem;
	padding-bottom: 2rem
}

@media screen and (min-width: 768px) {
	.header--trainSchedule {
		padding-bottom: 2.5rem
	}
}

.header-imageWrapper {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	opacity: .3
}

.header-image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.header-container {
	position: relative;
	z-index: 1;
	color: var(--color-white)
}

@media screen and (min-width: 768px) {
	.header-container {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: var(--gaps)
	}
}

.header-content {
	grid-area: 1/1/1/3
}

.header-content--fullWidth {
	grid-area: 1/1/1/5
}

.header-content--right {
	grid-area: 1/3/1/5
}

.header-content--textAlign--center {
	text-align: center
}

.header-content--textAlign--right {
	text-align: right
}

.header-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: .75rem
}

@media screen and (min-width: 1200px) {
	.header-title {
		font-size: 2rem;
		margin-bottom: 1.5rem
	}
}

@media screen and (min-width: 1200px) {
	.header--tenderInner .header-title {
		font-size: 2.5rem;
		margin-bottom: .75rem
	}
}

.header-text {
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.5
}

@media screen and (min-width: 1200px) {
	.header-text {
		font-size: 1rem
	}
}

.contact {
	display: flex;
	align-items: center;
	padding: var(--gaps);
	gap: var(--gaps);
	background: var(--color-gray);
	border-radius: .5rem
}

.contact-content {
	display: flex;
	flex-direction: column
}

.contact-title {
	font-size: .875rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	margin: 0;
	color: var(--color-text-dark-h);
	text-transform: none
}

.contact-text {
	font-size: 1rem;
	font-weight: 500;
	font-style: normal;
	margin: 0;
	color: var(--color-text-dark-h);
	text-decoration: none
}

.contact-iconWrapper {
	padding: .6875rem 0;
	display: flex
}

.contact-icon {
	font-size: 1.5rem;
	color: var(--color-blue)
}

.contactSchedule {
	display: flex;
	align-items: center;
	gap: var(--gaps);
	padding: var(--gaps);
	background: var(--color-gray)
}

.contactSchedule-title {
	font-size: 1rem;
	line-height: 1.2;
	margin: 0;
	text-transform: none;
	font-weight: 500;
	flex: 1 0 0
}

.contactSchedule-info {
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: .25rem
}

.contactSchedule-days {
	font-size: 1rem;
	text-transform: uppercase;
	color: var(--color-blue);
	font-weight: 700
}

.contactSchedule-time {
	font-size: .75rem
}

.application {
	width: 100%;
	padding: var(--gaps);
	gap: var(--gaps);
	background: var(--color-blue);
	display: flex;
	border-radius: .5rem;
	text-decoration: none
}

.application-content {
	flex: 1 0 0
}

.application-title {
	font-size: 1rem;
	font-weight: 500;
	font-style: normal;
	text-transform: none;
	line-height: 1.5;
	color: var(--color-text-light-h);
	margin: 0
}

.application-info {
	display: flex;
	flex-wrap: wrap;
	gap: 0rem 1rem
}

.application-infoText {
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	text-decoration: underline;
	line-height: 1.5;
	letter-spacing: .04em;
	margin: 0;
	color: var(--color-text-light-m)
}

.application-iconWrapper {
	padding: .6875rem 0
}

.application-icon {
	color: var(--color-text-light-h)
}

.button,
a.button {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	border-radius: 6.25rem;
	border: none;
	padding: .75rem 1rem;
	gap: .5rem;
	color: var(--color-text-light-h);
	font-style: normal;
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 100%;
	letter-spacing: -0.04em;
	text-decoration: none;
	cursor: pointer;
	background: var(--color-blue)
}

.button:hover,
a.button:hover {
	background: #0D3054 /*var(--color-blue-darker)*/
}

.button:active,
a.button:active {
	background: var(--color-blue-dark)
}

.button[disabled],
.button--disabled,
a.button[disabled],
a.button--disabled {
	background: #959595;
	cursor: default
}

.button.button--light {
	background: #fff;
	color: var(--color-blue-dark)
}

.button.button--light:hover {
	background: #fff
}

.button.button--light:active {
	background: rgba(255, 255, 255, .5)
}

.button.button--light[disabled],
.button.button--light.button--disabled {
	color: var(--color-text-light-m);
	background: #959595;
	cursor: default
}

.button.button--text {
	padding: 0;
	color: var(--color-blue);
	background: none
}

.button.button--text:hover {
	color: var(--color-blue-darker);
	background: none
}

.button.button--text:active {
	color: var(--color-blue-dark);
	background: none
}

.button.button--text.button--light {
	color: var(--color-text-light-h)
}

.button.button--text.button--light:hover {
	color: var(--color-text-light-h)
}

.button.button--text.button--light:active {
	color: var(--color-text-light-m)
}

.button.button--text[disabled],
.button.button--text.button--disabled,
.button.button--text.button--light[disabled],
.button.button--text.button--light.button--disabled {
	background: none;
	color: #959595
}

.button.button--outlined {
	background: none;
	border: 1.5px solid var(--color-blue);
	color: var(--color-blue)
}

.button.button--outlined:hover {
	color: var(--color-blue-darker);
	border-color: var(--color-blue-darker);
	background: none
}

.button.button--outlined:active {
	color: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	background: none !important
}

.button.button--outlined.button--light {
	color: var(--color-text-light-h);
	border-color: var(--color-text-light-h)
}

.button.button--outlined.button--light:hover {
	color: var(--color-text-light-h);
	border-color: var(--color-text-light-h)
}

.button.button--outlined.button--light:active {
	color: var(--color-text-light-m);
	border-color: var(--color-text-light-m)
}

.button.button--outlined[disabled],
.button.button--outlined.button--disabled,
.button.button--outlined.button--light[disabled],
.button.button--outlined.button--light.button--disabled {
	background: none;
	color: #959595;
	border-color: #959595
}

.tenderCard {
	padding: var(--gaps);
	gap: var(--gaps);
	background: var(--color-gray);
	border-radius: .5rem;
	display: grid;
	grid-template-areas: "head head status""price price price""more more more"
}

@media screen and (min-width: 1200px) {
	.tenderCard {
		grid-template-areas: "head head head price""status blank blank more"
	}
}

.tenderCard-head {
	grid-area: head
}

.tenderCard-status {
	grid-area: status
}

.tenderCard-priceBlock {
	grid-area: price;
	padding-bottom: var(--gaps);
	border-bottom: 1px solid var(--color-border)
}

@media screen and (min-width: 1200px) {
	.tenderCard-priceBlock {
		justify-self: end
	}
}

.tenderCard-readMore {
	grid-area: more;
	justify-self: start
}

@media screen and (min-width: 1200px) {
	.tenderCard-readMore {
		justify-self: end
	}
}

.tenderCard-readMore.button {
	font-size: 1rem
}

.tenderCard-title {
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: none;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: .75rem
}

.tenderCard-endDate {
	font-size: .75rem;
	font-weight: 400;
	line-height: 1;
	color: var(--color-text-dark-m);
	display: flex;
	gap: .25rem;
	margin: 0
}

.tenderCard-endDateValue {
	font-weight: 600
}

.tenderCard-status {
	font-size: .75rem;
	line-height: 1;
	background: #5cb85c;
	color: var(--color-text-light-h);
	padding: .375rem .5rem;
	border-radius: .5rem;
	text-align: center;
	margin: 0;
	justify-self: end;
	align-self: start
}

@media screen and (min-width: 1200px) {
	.tenderCard-status {
		justify-self: start
	}
}

.tenderCard-price {
	display: flex;
	align-items: baseline;
	gap: .5rem
}

.tenderCard-priceCaption {
	font-size: .75rem;
	line-height: 1.5;
	flex: 1 0 0
}

.tenderCard-priceValue {
	background: var(--color-blue-darker);
	color: var(--color-text-light-h);
	padding: .375rem .5rem;
	border-radius: .5rem;
	display: flex;
	gap: .1875rem;
	flex: 0 0 0;
	text-wrap: nowrap;
	white-space: nowrap;
	font-size: .75rem;
	line-height: 1
}

.pagination {
	display: flex;
	gap: .25rem;
	padding-top: 2rem
}

.pagination-button {
	background: var(--color-gray);
	border: 1px solid var(--color-border);
	border-radius: .25rem;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	color: var(--color-text-dark-m);
	text-decoration: none
}

.pagination-button:hover {
	color: var(--color-blue)
}

.pagination-button:active {
	background: var(--color-gray-darker)
}

.pagination-button--current {
	background: var(--color-blue-darker);
	color: var(--color-text-light-h);
	border-color: rgba(255, 255, 255, .15);
	cursor: default
}

.pagination-button--current:hover {
	color: var(--color-text-light-h)
}

.pagination-button--current:active {
	background: var(--color-blue-darker)
}

.pagination-button--blank {
	cursor: default
}

.pagination-button--blank:hover {
	color: var(--color-text-dark-m)
}

.pagination-button--blank:active {
	background: var(--color-gray)
}

.personContactsCard {
	display: flex;
	flex-direction: column;
	padding: var(--paddings);
	gap: var(--gaps);
	background: var(--color-gray);
	border-radius: .8rem
}

@media screen and (min-width: 1200px) {
	.personContactsCard {
		flex-direction: row;
		align-items: center
	}
}

.personContactsCard-head {
	display: flex;
	flex-direction: column;
	gap: .8rem;
	flex: 1 0 0
}

.personContactsCard-post {
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;
	color: var(--color-blue);
	margin: 0;
	text-transform: none
}

.personContactsCard-name {
	font-size: 1.25rem;
	font-weight: 600;
	font-style: normal;
	line-height: 1.2;
	margin: 0
}

.personContactsCard-contactsList {
	list-style: none;
	padding: 1rem 0 0 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .5rem;
	border-top: 1px solid var(--color-border);
	flex: 1 0 0;
	align-self: stretch
}

@media screen and (min-width: 1200px) {
	.personContactsCard-contactsList {
		padding: 0 0 0 2rem;
		border-top: none;
		border-left: 1px solid var(--color-border)
	}
}

.personContactsCard-contactsItem {
	margin: 0;
	flex: 0 0 0;
	display: flex
}

.personContactsCard-contact {
	color: var(--color-text-dark-h);
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: var(--gaps);
	flex: 0 0 1
}

.personContactsCard-contactIcon {
	color: var(--color-blue)
}

.personContactsCard-contactValue {
	line-height: 1
}

.personContactsCard-contact:hover .personContactsCard-contactValue {
	text-decoration: underline;
	color: var(--color-blue)
}

.personContactsCard-contact:active .personContactsCard-contactValue {
	text-decoration: underline;
	color: var(--color-blue-darker)
}

.newsItem-imageWrapper,
.newsCard-imageWrapper {
	width: 100%;
	background: var(--color-gray-darker);
	aspect-ratio: 4/3;
	position: relative;
	flex-shrink: 0
}

.newsItem-imageWrapper::after,
.newsCard-imageWrapper::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: var(--color-blue);
	opacity: .3;
	mix-blend-mode: screen
}

.newsItem-image,
.newsCard-image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.newsItem-content,
.newsCard-content {
	width: 100%;
	display: flex;
	flex-direction: column-reverse;
	justify-content: start;
	gap: var(--gaps);
	color: var(--color-text-dark-h)
}

.newsItem-title,
.newsCard-title {
	font-size: 1.25rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.22;
	text-transform: none;
	margin: 0
}

.newsItem-date,
.newsCard-date {
	display: flex;
	gap: .5rem;
	align-items: center;
	color: var(--color-text-dark-m)
}

.newsItem-dateIcon,
.newsCard-dateIcon {
	font-size: .875rem
}

.newsItem-dateText,
.newsCard-dateText {
	font-size: .875rem;
	font-weight: 400;
	font-style: normal
}

.newsCard-wrapper {
	display: flex;
	flex-direction: column-reverse;
	justify-content: start;
	gap: var(--gaps);
	text-decoration: none
}

.newsCard-wrapper:hover .newsCard-title {
	text-decoration: underline
}

.newsItem {
	display: flex
}

.newsItem-wrapper {
	display: flex;
	flex-direction: row-reverse;
	align-items: start;
	flex: 1 0 0;
	padding: var(--gaps) 0;
	gap: var(--gaps);
	border-bottom: 1px solid var(--color-border);
	text-decoration: none
}

.newsItem-wrapper:hover .newsItem-title {
	text-decoration: underline
}

.newsItem:last-child {
	border-bottom: none
}

.newsItem-imageWrapper {
	width: 6rem;
	aspect-ratio: 3/2
}

.newsItem-content {
	gap: .75rem
}

.newsItem-title {
	font-size: 1rem
}

.hotelCard-wrapper {
	display: flex;
	flex-direction: column;
	gap: .625rem;
	text-decoration: none;
	color: var(--color-text-dark-h)
}

.hotelCard-wrapper:hover .hotelCard-title {
	text-decoration: underline
}

.hotelCard-imageWrapper {
	width: 100%;
	aspect-ratio: 4/3;
	background: var(--color-gray-darker);
	position: relative
}

.hotelCard-imageWrapper::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: var(--color-blue);
	opacity: .3;
	mix-blend-mode: screen
}

.hotelCard-image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.hotelCard-content {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.hotelCard-title {
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.22;
	text-transform: none;
	margin: 0
}

.hotelCard-city {
	display: flex;
	align-items: center;
	gap: .25rem;
	margin: 0;
	color: var(--color-text-dark-m);
	font-size: .875rem
}

.hotelCard-cityIcon {
	font-size: .875rem
}

.selectButton {
	display: flex;
	gap: .5rem;
	padding: .75rem 1rem;
	background: var(--color-gray);
	color: var(--color-text-dark-m);
	border: none;
	border-radius: .125rem;
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.25;
	cursor: pointer
}

.selectButton:hover {
	background: var(--color-gray-darker)
}

.selectButton:disabled,
.selectButton--disabled {
	cursor: default !important;
	background: var(--color-gray) !important;
	color: var(--color-text-dark-l) !important
}

.selectButton--selected {
	padding: .75rem 1rem .75rem .5rem;
	background: var(--color-blue);
	color: var(--color-white)
}

.selectButton--selected:hover {
	background: var(--color-blue-darker)
}

.selectButton-icon {
	font-size: 1.25rem
}

.hotelRoomCard {
	background: var(--color-white)
}

.hotelRoomCard-wrapper {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--gaps);
	padding: var(--gaps)
}

.hotelRoomCard-imageWrapper {
	width: 100%;
	aspect-ratio: 3/2;
	position: relative;
	background: var(--color-gray-darker)
}

.hotelRoomCard-imageWrapper::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: var(--color-blue);
	opacity: .3;
	mix-blend-mode: screen
}

.hotelRoomCard-image {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	object-fit: cover
}

.hotelRoomCard-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--gaps)
}

.hotelRoomCard-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	text-transform: none;
	margin: 0
}

.hotelRoomCard-item {
	margin-bottom: .5rem
}

.hotelRoomCard-item:last-child {
	margin-bottom: 0
}

.banner {
	width: 100%;
	height: 100%;
	position: relative;
	background: var(--color-blue-dark);
	display: flex;
	flex-direction: column
}

@media screen and (min-width: 768px) {
	.banner {
		/* justify-content: center; */
		align-items: center
	}
}

.banner-background {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	background: url("../images/banner-bg-phone.webp") center bottom no-repeat;
	background-size: cover;
	opacity: .5
}

@media screen and (min-width: 768px) {
	.banner-background {
		background: url("../images/banner-bg-desktop.webp") center center no-repeat
	}
}

.banner-readMore {
	display: flex;
	justify-content: center;
	align-items: center;
	/* flex: 1 1 0; */
	gap: .5rem;
	padding: .75rem 1rem;
	border-radius: 2rem;
	background: var(--color-white);
	color: var(--color-text-dark-h);
	text-decoration: none;
	text-align: center;
	font-style: normal;
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 100%;
	letter-spacing: -0.04em;
	margin-top: .5rem
}

.banner-container {
	padding-top: 1rem;
	padding-bottom: 5rem;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1
}

.banner-content {
	max-width: 42.5rem;
	color: var(--color-text-light-h);
	display: flex;
	flex-direction: column;
	align-items: start
}

@media screen and (min-width: 768px) {
	.banner-content {
		background: rgba(20, 51, 82, .6);
		border: 2px solid rgba(255, 255, 255, .2);
		border-radius: .5rem;
		padding: 1rem;
		backdrop-filter: blur(20px);
		text-align: center;
		align-items: center;
		min-height: 300px
	}
}

.banner-content--align--center {
	align-self: center
}

.banner-content--align-right {
	align-self: end
}

.banner-title {
	font-size: 1.5rem;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1.4;
	margin-bottom: 1em
}

@media screen and (min-width: 768px) {
	.banner-title {
		font-size: 2rem;
		line-height: 1.35;
		text-transform: uppercase;
		margin-bottom: .4em
	}
}

.banner-title--small {
	font-size: 1.25rem;
	font-weight: 500;
	text-transform: none
}

@media screen and (min-width: 768px) {
	.banner-title--small {
		font-size: 1rem;
		font-weight: 400;
		text-transform: uppercase
	}
}

.banner-text {
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5
}

@media screen and (min-width: 768px) {
	.banner-text {
		font-size: 1.25rem;
		line-height: 1.3;
		font-weight: 500;
		margin-bottom: 1.33333em
	}
}

.ticketsBlock {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 3rem 0 1.5rem 0;
	/* background: var(--color-blue); */
	/* background: rgba(73, 129, 184, 0.5); */
	/*background: linear-gradient(180deg, rgba(73, 129, 184, 0.0) 0%, rgba(73, 129, 184, 0.5) 35%, rgba(73, 129, 184, 0.8) 100%);*/
	position: absolute;
	bottom: 0;
	z-index: 1
}

@media screen and (min-width: 1200px) {
	.ticketsBlock {
		padding: 3.5rem 0 4.5rem 0;
	}
}
@media screen and (max-width: 1200px) {
	.ticketsBlock {
	background: var(--color-blue);
		position: relative;
	}
}


.ticketsBlock-grid {
	display: grid;
	grid-template-areas: "point""date""button";
	gap: var(--gaps)
}

@media screen and (min-width: 1200px) {
	.ticketsBlock-grid {
		grid-template-areas: "point point point point date date date button";
		grid-template-columns: repeat(8, 1fr)
	}
}

.ticketsBlock-points {
	grid-area: point;
	position: relative;
	display: flex;
	flex-direction: column
}

@media screen and (min-width: 1200px) {
	.ticketsBlock-points {
		flex-direction: row
	}
}

.ticketsBlock-dates {
	grid-area: date;
	position: relative;
	display: flex;
	flex-direction: column
}

@media screen and (min-width: 1200px) {
	.ticketsBlock-dates {
		flex-direction: row
	}
}

.ticketsBlock-switchPoints {
	position: absolute;
	right: 1rem;
	top: 50%;
	margin-top: -1.5rem;
	width: 3rem;
	height: 3rem
}

@media screen and (min-width: 1200px) {
	.ticketsBlock-switchPoints {
		right: 50%;
		margin-right: -1.5rem
	}
}

.ticketsBlock-button {
	grid-area: button;
	background: var(--color-blue-dark);
	border-radius: .5rem
}

.ticketsBlock-title {
	line-height: 1;
	color: var(--color-text-light-h);
	margin-bottom: 1.5rem
}

@media screen and (min-width: 1200px) {
	.input.ticketsBlock-input {
		flex: 1 0 0
	}
}

.input.ticketsBlock-input--departurePoint {
	border-radius: .5rem .5rem 0 0
}

@media screen and (min-width: 1200px) {
	.input.ticketsBlock-input--departurePoint {
		border-radius: .5rem 0 0 .5rem;
		padding-right: 2.5rem
	}
}

.input.ticketsBlock-input--arrivalPoint {
	border-radius: 0 0 .5rem .5rem
}

@media screen and (min-width: 1200px) {
	.input.ticketsBlock-input--arrivalPoint {
		border-radius: 0 .5rem .5rem 0;
		padding-left: 2.5rem
	}
}

.input.ticketsBlock-input--departureDate {
	border-radius: .5rem .5rem 0 0
}

@media screen and (min-width: 1200px) {
	.input.ticketsBlock-input--departureDate {
		border-radius: .5rem 0 0 .5rem
	}
}

.input.ticketsBlock-input--arrivalDate {
	border-radius: 0 0 .5rem .5rem
}

@media screen and (min-width: 1200px) {
	.input.ticketsBlock-input--arrivalDate {
		border-radius: 0 .5rem .5rem 0
	}
}

.input {
	display: flex;
	background: var(--color-white);
	position: relative;
	height: 3.5rem;
	overflow: hidden;
	border-radius: .5rem;
	border: 1px solid var(--color-border)
}

.input-input {
	width: 100%;
	padding: 0 2.5rem 0 1rem;
	border: none;
	background: none;
	flex: 1 0 0;
	font-size: 1.25rem;
	color: var(--color-text-dark-h);
	position: relative;
	z-index: 1
}

.input-input::placeholder {
	color: var(--color-text-dark-m)
}

.input-icon {
	color: var(--color-blue);
	position: absolute;
	right: 1rem;
	top: 50%;
	z-index: 0;
	margin-top: -0.5em
}

.input--select .input-icon {
	color: var(--color-text-dark-m)
}

.input--select .input-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.govCard {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: var(--gaps);
	gap: var(--gaps);
	background: var(--color-gray)
}

.govCard-iconWrapper {
	width: 3rem;
	height: 3rem;
	background: var(--color-blue-darker);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	flex-shrink: 0
}

.govCard-icon {
	color: var(--color-text-light-h)
}

.govCard-link {
	text-decoration: none;
	color: var(--color-text-dark-h);
	font-weight: 500;
	line-height: 1.5
}

.govBlock {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 0
}

.govBlock-title {
	margin-bottom: 2rem
}

.govBlock-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .5rem
}

@media screen and (min-width: 768px) {
	.govBlock-grid {
		grid-template-columns: 1fr 1fr
	}
}

.hotelsBlock {
	padding: 3rem 0;
	display: flex;
	justify-content: center;
	align-items: center
}

.hotelsBlock-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gaps)
}

@media screen and (min-width: 768px) {
	.hotelsBlock-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.hotelsBlock-grid {
		grid-template-columns: repeat(4, 1fr)
	}
}

.hotelsBlock-title {
	margin-bottom: 1.5rem
}

.directionCard {
	display: flex
}

.directionCard-wrapper {
	width: 100%;
	position: relative;
	text-decoration: none
}

.directionCard-imageWrapper {
	width: 100%;
	height: 100%;
	position: relative;
	left: 0;
	top: 0;
	z-index: 0;
	background: var(--color-gray-darker);
	aspect-ratio: 4/3
}

@media screen and (min-width: 1200px) {
	.directionCard-imageWrapper {
		aspect-ratio: 2/1
	}
}

.directionCard-imageWrapper::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	background: var(--color-blue);
	opacity: .3;
	mix-blend-mode: screen;
	transition: all .3s ease-out
}

.directionCard-imageWrapper::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	max-height: 10rem;
	left: 0;
	bottom: 0;
	z-index: 1;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0) 100%);
	opacity: .5
}

.directionCard:hover .directionCard-imageWrapper::before {
	opacity: 0
}

.directionCard-image {
	width: 100%;
	height: 100%;
	position: relative;
	left: 0;
	top: 0;
	object-fit: cover
}

.directionCard-content {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	color: var(--color-text-light-h);
	display: flex;
	align-items: center;
	padding: 1rem;
	gap: 1rem
}

.directionCard-title {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	text-transform: none;
	margin: 0;
	flex: 1 0 0
}

.directionsBlock {
	padding: 3rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-gray)
}

.directionsBlock-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gaps)
}

@media screen and (min-width: 768px) {
	.directionsBlock-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.directionsBlock-grid {
		grid-template-columns: repeat(3, 1fr)
	}
}

.directionsBlock-title {
	margin-bottom: 1rem
}

.appealsBlock {
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to bottom, #3F6E9E, #1A4E83);
	color: var(--color-text-light-h);
	padding: 3rem 0
}

.appealsBlock-container {
	display: flex;
	flex-direction: column;
	gap: 1rem
}

.appealsBlock-title {
	margin-bottom: 1rem
}

.appealsBlock-text {
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0
}

.appealsBlock-buttons {
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem
}

@media screen and (min-width: 768px) {
	.appealsBlock-buttons {
		flex-direction: row
	}
}

.newsBlock {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0 3rem 0
}

.newsBlock-grid {
	display: grid;
	grid-template-areas: "slider""title""list";
	grid-template-columns: 100%
}

@media screen and (min-width: 1200px) {
	.newsBlock-grid {
		grid-template-areas: "slider title""slider list";
		grid-template-columns: 50% 1fr;
		grid-template-rows: auto 1fr;
		gap: 0 2rem
	}
}

.newsBlock-slider {
	grid-area: slider
}

.newsBlock .newsBlock-title {
	grid-area: title;
	margin-top: 1em;
	margin-bottom: .5em
}

@media screen and (min-width: 1200px) {
	.newsBlock .newsBlock-title {
		margin-top: 0;
		margin-bottom: .5em
	}
}

.newsBlock-list {
	grid-area: list;
	display: grid;
	grid-template-areas: "col-1""col-2""button"
}

@media screen and (min-width: 1200px) {
	.newsBlock-list {
		grid-template-areas: "col-1 col-2""blank button";
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto 1fr;
		gap: 0 1.5rem
	}
}

.newsBlock-col {
	display: flex;
	flex-direction: column
}

.newsBlock-col .newsItem:last-child {
	flex: 1 0 0
}

.newsBlock-readMore {
	grid-area: button;
	justify-self: start;
	margin-top: 1.5em
}

@media screen and (min-width: 1200px) {
	.newsBlock-readMore {
		justify-self: end;
		align-self: start
	}
}

.newsSlider {
	width: 100%;
	max-width: 49rem;
	background: var(--color-gray)
}

.newsSlider-pagination {
	position: static !important;
	text-align: left !important;
	padding: 1.5rem 1rem;
	display: flex;
	gap: .5rem
}

.newsSlider .swiper-pagination-bullet {
	width: 100%;
	max-width: 1.5rem;
	height: .5rem !important;
	background: none;
	border-radius: 0;
	opacity: 1;
	margin: 0 !important;
	border-top: .25rem solid #999
}

.newsSlider .swiper-pagination-bullet-active {
	border-top: .3755rem solid var(--color-blue)
}

.newsSlider .newsCard-content {
	padding-left: 1rem;
	padding-right: 1rem
}

.tenderInfoList {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-left: 0;
	padding-top: .75rem
}

.tenderInfoList-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 0
}

@media screen and (min-width: 1200px) {
	.tenderInfoList-item {
		justify-content: start
	}
}

.tenderInfoList-icon {
	font-size: 1rem
}

.tenderInfoList-key {
	display: flex;
	align-items: center;
	gap: .25rem
}

.tenderInfoList-value {
	font-weight: 700
}

.trainCard {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: var(--gaps);
	gap: var(--gaps);
	background: var(--color-gray);
	border-radius: .5rem
}

.trainCard-head {
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
	gap: .25rem
}

.trainCard-title {
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	margin: 0
}

.trainCard-line {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.trainCard-trainNumber {
	font-size: .875rem;
	line-height: 1;
	margin: 0;
	color: var(--color-text-dark-m)
}

.trainCard-date {
	font-size: .875rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	color: var(--color-blue)
}

.trainCard-buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .5rem
}

.trainCard-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .5rem .875rem;
	text-align: center;
	background: var(--color-gray-darker);
	border-radius: .5rem;
	color: var(--color-text-dark-m);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.04em;
	text-decoration: none;
	border: 1px solid var(--color-border)
}

.trainCard-button:hover {
	color: var(--color-blue);
	border: 1px solid var(--color-blue)
}

.trainCard-timetable {
	display: flex;
	align-items: center;
	gap: var(--gaps)
}

.trainCard-departureTitle,
.trainCard-arrivalTitle,
.trainCard-travelTimeTitle {
	font-size: .875rem;
	font-weight: 400;
	line-height: 1;
	text-transform: lowercase;
	color: var(--color-text-dark-m);
	margin: 0
}

@media screen {

	.trainCard-departureTitle--hidden,
	.trainCard-arrivalTitle--hidden,
	.trainCard-travelTimeTitle--hidden {
		display: none
	}
}

.trainCard-departureTime,
.trainCard-arrivalTime,
.trainCard-travelTimeVal {
	font-size: .875rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color-blue);
	margin: 0
}

.trainCard-departure,
.trainCard-arrival,
.trainCard-travelTime {
	display: flex;
	flex-direction: column-reverse;
	gap: .125rem
}

.trainCard-departure {
	order: 1
}

.trainCard-arrival {
	align-items: end;
	order: 5
}

.trainCard-travelTime {
	align-items: center;
	order: 3
}

.trainCard-line1 {
	order: 2;
	flex: 1 0 0
}

.trainCard-line2 {
	order: 4;
	flex: 1 0 0
}

.gg-container {
	--main-color: #000;
	--secondary-color: #111;
	--txt-color: #fff;
	--img-bg-color: rgba(240, 240, 240, 0.9);
	--backdrop-color: rgba(240, 240, 240, 0.9);
	--gap-length: 2px;
	--row-height: 200px;
	--column-width: 220px
}

.gg-container *[data-theme=dark] {
	--main-color: #ddd;
	--secondary-color: #eee;
	--txt-color: #111;
	--img-bg-color: rgba(20, 20, 20, 0.9);
	--backdrop-color: rgba(30, 30, 30, 0.9)
}

.gg-box {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
	grid-auto-rows: var(--row-height);
	grid-gap: var(--gap-length);
	margin: 20px 0
}

.gg-box img {
	object-fit: cover;
	cursor: pointer;
	width: 100%;
	height: 100%;
	background: var(--img-bg-color)
}

.gg-box img:hover {
	opacity: .98
}

#gg-screen {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: var(--backdrop-color);
	z-index: 9999;
	text-align: center
}

#gg-screen .gg-image {
	height: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center
}

#gg-screen .gg-image img {
	max-width: 100%;
	max-height: 100%;
	margin: 0 auto
}

.gg-btn {
	width: 35px;
	height: 35px;
	background: var(--main-color);
	color: var(--txt-color);
	text-align: center;
	line-height: 35px;
	cursor: pointer;
	-moz-transition: all .4s ease;
	-o-transition: all .4s ease;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	font-size: 20px;
	box-sizing: border-box;
	padding-left: 2px;
	position: fixed;
	bottom: 10px
}

.gg-btn:hover {
	background: var(--secondary-color)
}

.gg-close {
	top: 10px
}

.gg-close,
.gg-next {
	right: 10px
}

.gg-prev {
	right: 50px
}

.gg-prev,
.gg-next {
	bottom: 10px
}

@media(min-width: 478px) {
	.gg-box img:nth-child(2n):not(:last-of-type) {
		grid-row-end: span 2
	}

	[data-layout=horizontal] img:nth-child(2n):not(:last-of-type) {
		grid-column-end: span 2;
		grid-row-end: span 1
	}

	[data-layout=square] img:nth-child(2n):not(:last-of-type) {
		grid-row-end: span 1;
		grid-column-end: span 1
	}
}

@media(max-width: 768px) {
	.gg-box {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		grid-auto-rows: calc(var(--row-height) - 15vh);
		margin: 10px 0
	}
}

@media(max-width: 450px) {
	.gg-box {
		grid-template-columns: repeat(auto-fit, minmax(130px, 1fr))
	}
}

.contactsPageContacts {
	padding: 1.5rem 0;
	background: var(--color-gray-darker);
	display: flex;
	align-items: center;
	justify-content: center
}

.contactsPageSchedule {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	padding-bottom: 2rem
}

.contactsPageSchedule-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0;
	margin-bottom: 1rem
}

.contactsPageSchedule-list {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.newsPage-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gaps);
	padding-top: 2rem
}

@media screen and (min-width: 768px) {
	.newsPage-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.newsPage-grid {
		grid-template-columns: repeat(3, 1fr)
	}
}

.newsPage-leads {
	display: grid;
	grid-template-areas: "lead""list";
	gap: var(--gaps);
	padding: 0
}

@media screen and (min-width: 768px)and (max-width: 1199px) {
	.newsPage-leads {
		grid-template-areas: "lead lead list";
		grid-template-columns: 1fr 1fr 1fr;
		padding: 0 1rem 0 0
	}
}

@media screen and (min-width: 1200px) {
	.newsPage-leads {
		grid-template-areas: "lead list";
		grid-template-columns: 1fr 1fr;
		background: var(--color-gray);
		padding: 0 1rem 1.5rem 1rem
	}
}

.newsPage-leadBlock {
	grid-area: lead
}

@media screen and (min-width: 768px) {
	.newsPage-leadBlock {
		padding: 1rem;
		background: var(--color-gray)
	}
}

@media screen and (min-width: 1200px) {
	.newsPage-leadBlock {
		padding: 1rem 0 0 0;
		background: none
	}
}

.newsPage-leadsList {
	grid-area: list
}

@media screen and (min-width: 768px)and (max-width: 1199px) {
	.newsPage-leadsList .newsItem {
		flex-direction: row
	}
}

.hotelsPage-content {
	display: grid;
	grid-template-areas: "filters""cards";
	gap: 2rem
}

@media screen and (min-width: 768px) {
	.hotelsPage-content {
		grid-template-areas: "cards cards cards cards filters";
		grid-template-columns: repeat(4, 1fr) minmax(min-content, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.hotelsPage-content {
		grid-template-areas: "cards cards cards filters";
		grid-template-columns: repeat(3, 1fr) 22.5rem
	}
}

.hotelsPage-citiesList {
	grid-area: filters;
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: .25rem
}

@media screen and (min-width: 768px) {
	.hotelsPage-citiesList {
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap
	}
}

.hotelsPage-citiesItem {
	margin-bottom: 0
}

@media screen and (min-width: 768px) {
	.hotelsPage-citiesItem {
		display: flex;
		justify-content: stretch
	}
}

@media screen and (min-width: 768px) {
	.hotelsPage-citiesItem>* {
		flex: 1 0 0
	}
}

.hotelsPage-grid {
	grid-area: cards;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gaps)
}

@media screen and (min-width: 768px) {
	.hotelsPage-grid {
		grid-template-columns: 1fr 1fr 1fr
	}
}

.hotelPageContent {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 1.5rem 0;
	background: var(--color-gray-darker)
}

@media screen and (min-width: 768px) {
	.hotelPageContent {
		padding: 1.5rem 0 4rem 0
	}
}

.hotelPageContent-container {
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas: "image""text""sidebar"
}

@media screen and (min-width: 768px) {
	.hotelPageContent-container {
		grid-template-areas: "image sidebar""text sidebar";
		grid-template-columns: 1fr minmax(0, 22rem)
	}
}

@media screen and (min-width: 1200px) {
	.hotelPageContent-container {
		grid-template-columns: 1fr minmax(0, 31rem)
	}
}

.hotelPageContent-imageBlock {
	grid-area: image
}

@media screen and (min-width: 768px) {
	.hotelPageContent-imageBlock {
		padding: 0 var(--paddings)
	}
}

.hotelPageContent-imageWrapper {
	aspect-ratio: 3/2;
	position: relative
}

.hotelPageContent-imageWrapper::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-blue);
	opacity: .3;
	mix-blend-mode: screen
}

.hotelPageContent-image {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover
}

.hotelPageContent-text {
	grid-area: text;
	padding: 0 var(--paddings);
	padding-top: 1.5rem
}

@media screen and (min-width: 1200px) {
	.hotelPageContent-text {
		padding-top: 2rem
	}
}

.hotelPageContent-sidebar {
	grid-area: sidebar;
	padding: 0 var(--paddings);
	padding-top: 1rem
}

@media screen and (min-width: 768px) {
	.hotelPageContent-sidebar {
		padding-top: 0
	}
}

.hotelPageContacts {
	display: flex;
	flex-direction: column;
	gap: var(--gaps)
}

.hotelPageContacts-location {
	display: flex;
	flex-direction: column
}

.hotelPageContacts-map {
	width: 100%;
	aspect-ratio: 3/2;
	position: relative
}

.hotelPageContacts-mapImage {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	object-fit: cover
}

.hotelPageContacts-locationCaption {
	display: flex;
	align-items: center;
	padding: 1rem .25rem;
	gap: .25rem;
	color: var(--color-text-dark-m)
}

.hotelPageContacts-locationCaptionItem {
	font-size: 1rem
}

.hotelPageContacts-locationCaptionText {
	font-size: 1rem;
	margin: 0
}

.hotelPageContacts-list {
	display: flex;
	flex-direction: column;
	gap: var(--gaps)
}

.hotelPageRooms {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0;
	background: var(--color-gray)
}

@media screen and (min-width: 768px) {
	.hotelPageRooms {
		padding: 3rem 0
	}
}

.hotelPageRooms-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gaps)
}

@media screen and (min-width: 768px) {
	.hotelPageRooms-list {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 768px) {
	.hotelPageRooms-list {
		grid-template-columns: repeat(4, 1fr)
	}
}

.tenderInnerInfo {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0 2.5rem 0
}

.tenderInnerInfo .title-1,
.tenderInnerInfo .hotelPageRooms-title,
.tenderInnerInfo .title-2,
.tenderInnerInfo .title-3 {
	color: var(--color-blue)
}

.tenderInnerApp {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0 2.5rem 0;
	background: var(--color-gray)
}

@media screen and (min-width: 1200px) {
	.tenderInnerApp {
		padding: 3rem 0
	}
}

.tenderInnerApp-list {
	display: flex;
	flex-direction: column;
	gap: 1rem
}

.tenderInnerContacts {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0 2.5rem 0;
	background: var(--color-gray-darker)
}

@media screen and (min-width: 1200px) {
	.tenderInnerContacts {
		padding: 3rem 0
	}
}

.tenderInnerContacts-list {
	display: flex;
	flex-direction: column;
	gap: 1rem
}

.trainTimetableBlock {
	padding: 1.5rem 0;
	background: var(--color-gray-darker);
	display: flex;
	justify-content: center;
	align-items: center
}

.trainTimetableBlock-list {
	display: flex;
	flex-direction: column;
	gap: var(--gaps)
}

.trainScheduleFilters {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--gaps)
}

.trainScheduleFilters-list {
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-rows: 1fr;
	gap: var(--gaps);
	margin-top: 1.5rem
}

@media screen and (min-width: 768px) {
	.trainScheduleFilters-list {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1200px) {
	.trainScheduleFilters-list {
		grid-template-columns: repeat(4, 1fr)
	}
}

.trainScheduleFilters-button {
	border-radius: .5rem;
	padding: 1rem
}

a:hover{
	color: #fff !important;
	text-decoration: none !important;
}
