:root {
  --text-color: #fff;
  --gr-light: #0363cf;
  --gr-dark: #021740;
  --item-gr-light: #005ebd;
  --item-gr-dark: #020736;
  --white: #fff;
  --btn-bg: #2067fb;
  --btn-shadow: #38b4ff;
  --item-border: #006cb4;
  --form-placeholder-color: #999db0;
  --experience-border-color: rgba(39, 95, 163, .5);
  --footer-border: rgba(153, 157, 176, .2);
  --bg-dark: #01173e;
  --modal-bg: rgba(2,50,113, 100%);
  --font: "Rubik", sans-serif;
  font-size: 16px;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h2,
h3,
h3,
h4,
h4,
h5,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

button {
  outline: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

a {
  text-decoration: none;
  color: #000;
}

img {
  max-width: 100%;
  display: block;
  object-fit: cover;
}

html {
  box-sizing: border-box;
  height: 100%;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}

a,
input,
textarea {
  outline: none;
}

html,
body {
  position: relative;
}

html {
  font-size: 14px;
  font-family: "Fira Sans", sans-serif;
}

a {
  display: inline-block;
  text-decoration: none;
}

ul,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body {
  height: 100%;
  font-weight: 400;
  color: var(--text-color);
  font-family: var(--font);
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}

.content {
  flex: 1 0 auto;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  z-index: 3;
}
.content::before {
  background: linear-gradient(to top, var(--gr-light), var(--gr-dark));
  position: absolute;
  inset: 0;
  z-index: -1;
}
.content__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.content__video {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.content__video video {
  opacity: 0.3;
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  z-index: -1;
}
.content__video-filter {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--gr-light), transparent);
}

.footer {
  flex: 0 0 auto;
}

.container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}
.container_m {
  max-width: 1000px;
}

.main {
  max-width: 100vw;
  width: 100%;
  overflow-x: hidden;
}

.section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.section-title {
  font-weight: 500;
  font-size: 2.1rem;
  text-align: center;
  margin-bottom: 3rem;
}

.d-g {
  display: grid;
}

.d-f {
  display: flex;
}

.ai-c {
  align-items: center;
}

.jc-c {
  justify-content: center;
}

.jc-sb {
  justify-content: space-between;
}

.fd-c {
  flex-direction: column;
}

.p-r {
  position: relative;
}

.p-a {
  position: absolute;
}

.btn {
  background-color: var(--btn-bg);
  color: var(--white);
  padding: 10px 18px;
  font-size: 0.9rem;
  border-radius: 0.25rem;
  cursor: pointer;
  text-transform: uppercase;
  transition: box-shadow 0.2s ease-out;
}

@media (pointer: fine) {
  .btn:hover {
    animation: btnHover 0.4s ease-out 1;
    box-shadow: 0 0 4px 3px var(--btn-shadow);
  }
}



.txt-hover {
  transition: text-shadow 0.3s linear, color 0.3s linear;
  cursor: pointer;
}
@media (pointer: fine) {
  .txt-hover:hover {
    text-shadow: var(--btn-shadow) 0 2px 10px;
    color: var(--btn-shadow);
  }
}
.stroke-item {
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in;
}
@media (pointer: fine) {
  .stroke-item:hover {
    transform: translate(-0.4rem, -0.4rem);
    box-shadow: 0.4rem 0.4rem 1rem 0 var(--btn-shadow);
  }

  .stroke-item.l-history__item:hover {
    box-shadow: 0.4rem 0.4rem 1rem 0 var(--btn-shadow);
  }
}

.stroke-item-hover {
  display: none;
  inset: -3px;
  z-index: -1;
}
.stroke-item-hover svg {
  width: 100%;
  height: 100%;
}
.stroke-item-hover svg rect {
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke-width: 7px;
  stroke: var(--btn-shadow);
}
.stroke-item-hover svg rect:not(.hovered) {
  stroke: none;
}

/*
.section-title {
	color: #1d1d1d;
	text-align: center;
	font-size: 26px;
	font-family: $ptFamily;

	h3 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	span {
		display: block;
		font-size: 43px;
		line-height: 1.4;
		font-weight: 700;
	}
}

.form-input, .form-area {
	border: 1px solid #d1d1d1;
	position: relative;
	border-radius: 24px;
	width: 100%;

	&.error {
		border-color: red;
	}

	label {
		position: absolute;
		bottom: calc(100% + 10px);
		left: 20px;
	}

	input, textarea {
		border-radius: 24px;
		padding: 14px 15px;
		font-size: 14px;
		width: 100%;
		border: none;
		outline: none;

		&::placeholder {
			opacity: 0.3;
		}
	}

	textarea {
		resize: none;
	}
}

.form-radio {

	input {
		opacity: 0;
		visibility: hidden;
		appearance: none;
		display: none;
		&:checked + label {
			&::before {
				background-color: var(--white);
			}
			&::after {
				border-color: var(--accent-color);
			}
		}
	}
	label {
		padding-left: 40px;
		position: relative;
		cursor: pointer;
		&::before, &::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			top: -4px;
			width: 24px;
			height: 24px;
			border-radius: 50%;
			overflow: hidden;
		}
		&::before {
			background-color: var(--circle-bg);
			transition: background-color .1s linear;
			z-index: 1;
		}
		&::after {
			border: 6px solid transparent;
			transition: border-color .1s linear;
			z-index: 2;
		}

	}
}

.form-textarea {
	border: 1px solid #d1d1d1;
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 30px;
	width: 100%;

	textarea {
		width: 100%;
		padding: 15px;
		border: none;
		outline: none;
		resize: none;
		font-size: 16px;

		&::placeholder {
			opacity: 0.3;
		}
	}
}

.section-title {
	font-size: 44px;
	text-align: center;
	font-weight: 700;
	font-family: $ptFamily;
	margin-bottom: 50px;

	&_left {
		text-align: left;
	}
}

.section {
	padding: 75px 0;

	&_bb {
		border-bottom: 1px solid var(--section-border-light)
	}
}

.btn {
	border-radius: 30px;
	color: var(--white);
	width: max-content;
	text-transform: uppercase;
	box-shadow: none;
	border: none;
	transition: background-color .3s linear;
	font-size: 18px;

	a, button {
		padding: 20px 80px;
		color: inherit;
		font-size: 18px;
		border: none;
		background-color: transparent;
		border-radius: 30px;
		&:hover {
			cursor: pointer;
		}
	}

	&_accent {
		background-color: var(--accent-color);

		&:hover {
			background-color: var(--accent-color-hover);
		}
	}

	&_general {
		background-color: var(--general-color);

		&:hover {
			background-color: var(--general-color-hover);
		}
	}
}

.bg {
	&_circle {
		position: relative;

		&::before {
			content: '';
			position: absolute;
			width: 1000vw;
			height: 1000vw;
			min-height: 100%;
			bottom: 0;
			border-radius: 0 0 50% 50%;
			left: calc(-500vw + 100vw / 2);
			z-index: -1;
		}
	}

	&_circle-green {
		&::before {
			background-color: var(--bg-green);
		}
	}

	&_circle-blue {
		&::before {
			background-color: var(--bg-blue)
		}
	}

	&_green {
		background-color: var(--bg-green);
	}

	&_blue {
		background-color: var(--bg-blue);
	}
}

.progress-circle {

}

.socials {
	gap: 20px;
	margin-right: 60px;

	&__vk,
	&__tg,
	&__yt {
		border-radius: 50%;
		background-color: $accentColor;
		width: 42px;
		height: 42px;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: bacgkround-color .3s linear;

		&:hover {
			background-color: rgba($accentColor, .8);
		}

		svg {
			fill: white;
			width: 50%;
			max-height: 100%;
		}
	}

	&__tg {
		svg {
			width: 18px;
		}
	}
}

.socials-share {
	&_center {
		justify-content: center;
	}
	&_right {
		justify-content: flex-end;
	}
	&_left {
		justify-content: flex-start;
	}
	&__item {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background-color: #ebf8c5;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background-color 0.3s linear;
		&:hover {
			background-color: #d1e799;
		}
		& + & {
			margin-left: 20px;
		}
		svg {
			display: block;
			width: 100%;
			height: 100%;
			max-width: 24px;
			max-height: 22px;
			fill: var(--accent-color);
		}
	}
}

.page-intro-content {
	padding-top: 55px;
}

.picture-block {
	display: flex;
	align-items: center;
	justify-content: center;

	img {
		object-fit: contain;
		width: 100%;
		height: 100%;
		display: block;
	}
}

.grid-body {
	display: grid;

	&.grid-col-2 {
		grid-template-columns: repeat(2, 1fr);
	}

	&.grid-col-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	&.grid-col-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

.dash-list {
	li {
		padding-left: 40px;
		position: relative;

		&::before {
			content: '';
			display: block;
			position: absolute;
			top: 9px;
			left: 0;
			width: 20px;
			height: 1px;
			background-color: var(--general-color);
		}
	}
}

.toggle-item {
	& + & {
		border-top: 2px solid var(--vacancy-border-color);
	}
}

.toggle-content {
	border-top: 2px solid var(--vacancy-border-color);
	padding: 30px 0;
}

.toggle-title {
	justify-content: space-between;
	padding: 25px 0;
	cursor: pointer;
	margin-right: 20px;

	span {
		font-weight: 500;
		font-size: 24px;
	}

	&.opened {
		.toggle-chevron {
			transform: rotate(0deg);
		}
	}
}

.toggle-chevron {
	width: 12px;
	height: 12px;
	transform-origin: center;
	transform: rotate(-90deg);
	transition: transform .5s linear;
	flex-shrink: 0;

	svg {
		display: block;
		width: 100%;
		height: 100%;
	}
}

.toggle-body {
	transition: max-height .5s linear;
	max-height: 0;
	overflow: hidden;
}

.document-download {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--general-color);
	transform-origin: center;
	transform: rotate(-90deg);
	margin-left: auto;
	flex-shrink: 0;

	svg {
		width: 12px;
		height: 12px;
		display: block;
		fill: var(--white);
	}
}

.document-name {
	padding-right: 10px;
}

.document-icon {
	width: 27px;
	height: 37px;
	margin-right: 20px;
	flex-shrink: 0;

	svg {
		width: 100%;
		height: 100%;
		display: block;
	}
}

.document-item {
	width: 100%;
	border: 2px solid var(--document-files-border-color);
	border-radius: 10px;
	padding: 13px 20px;
	transition: border-color .3s linear;

	&:hover {
		border-color: var(--document-files-border-color-hover);
	}
}

.block-link {
	border-radius: 10px;
	background-color: var(--general-color);
	padding: 20px;
	min-height: 140px;
	transition: background-color .3s linear;

	&:hover {
		background-color: var(--general-color-hover);
	}

	&__icon {
		width: 48px;
		height: 48px;
		margin: 0 auto 15px;
		background-color: var(--accent-color);
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;

		svg {
			fill: var(--white);
			max-width: 24px;
			width: 100%;
			max-height: 24px;
		}
	}

	&__name {
		font-size: 18px;
		font-weight: 600;
		color: var(--white);
		text-align: center;
	}
}

.modal {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(black, .5);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 10;

	&.opened {
		display: flex;
	}

	&__body {
		background-color: #fff;
		border-radius: 20px;
		padding: 25px;
		text-align: center;
		max-width: 570px;
		width: 100%;

	}

	&__title {
		font-weight: 700;
		font-family: $ptFamily;
		font-size: 30px;
		padding: 50px 0;
	}
}

.intro-bg {
	&__pictures {
		position: absolute;
		z-index: 1;
		width: 100%;
		bottom: 100px;
		svg {
			display: block;
			height: 100%;
		}
	}
	&__pictures-wrapper {
		max-width: 1500px;
		width: 100%;
		margin: 0 auto;
		justify-content: space-between;
		align-items: flex-end;
	}
}

div[data-modal-name="vacancy"], div[data-modal-name="feedback"] {
	.modal__body {
		padding: 40px 0;
	}

	.modal__title {
		margin-bottom: 55px;
	}

	form {
		max-width: 370px;
		width: 100%;
		margin: 0 auto;
	}

	.form-input + .form-input {
		margin-top: 50px;
	}

	.modal__police {
		font-size: 12px;
		text-align: center;
		margin: 30px 0 28px;

		a {
			font-size: inherit;
			text-decoration: underline;
			display: block;
		}
	}

	.btn {
		padding: 21px 60px;
		border-radius: 32px;
		&:hover {
			cursor: pointer;
		}
	}


}

.default-arrow {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--accent-color);
	transition: background-color .3s linear;
	&:hover {
		background-color: var(--accent-color-hover);
	}
	svg {
		width: 18px;
		height: 16px;
		fill: var(--white);
	}
	&_right {
		svg {
			transform: rotate(180deg);
		}
	}
}

.pagination {
	justify-content: center;
	&__nums {
		margin: 0 30px;
	}
	&__item {
		& + & {
			margin-left: 15px;
		}
		a, span {
			font-size: 18px;
			font-weight: 500;
		}
	}
	&__current {
		color: var(--accent-color)
	}
	&__pre-separator {
		&::after {
			margin-left: 15px;
			content: "..."
		}
	}
}

.menu-title {
	font-weight: 500;
	font-size: 18px;
	margin-bottom: 25px;
}

.visual-editor  {
	font-size: 14px;
	font-family: "Fira Sans", sans-serif;
	padding: 30px 0;
	p {
		margin-bottom: 10px;
	}
	h1, h2, h3 {
		font-weight: 700;
		margin-bottom: 30px;
	}
	h1{
		font-size: 40px;
	}
	h2{
		font-size: 34px;
	}
	h3{
		font-size: 24px;
	}
	table{
		border-collapse: collapse;
		td {
			border: 1px solid #000;
			padding: 10px;
		}
	}
	&.article-body {
		p {
			margin-bottom: 35px;
		}
		table {
			padding: 0;
			margin: 0 0 40px 0 ;

			tr {
				display: flex;
			}
			td {
				border: none;
				padding: 0;
				margin: 0;
				width: 50%;
				display: flex;
				align-items: center;
				justify-content: center;
				p {
					margin: 0;
				}
				&:first-child{
					padding-right: 15px;
				}
				&:last-child{
					padding-left: 15px;
				}
			}
			&:nth-child(odd) {
				//td:first-child{
				//	padding-right: 15px;
				//}
				//td:last-child{
				//	padding-left: 15px;
				//}
			}
			&:nth-child(even) {}
		}

	}
}

a.no-link {
	pointer-events: none;
}

*/
.header {
  height: 150px;
  padding: 1.5rem 0;
}
.header__row {
  grid-template-areas: "menu logo actions";
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1rem;
  align-items: center;
}
.header__menu {
  width: 36px;
  height: 18px;
  grid-area: menu;
  opacity: 0;
  pointer-events: none;
}
.header__menu span {
  display: block;
  left: 0;
  height: 2px;
  width: 18px;
  top: 8px;
  background-color: var(--white);
}
.header__menu span:first-child {
  top: 0;
  width: 100%;
}
.header__menu span:last-child {
  bottom: 0;
  top: auto;
  width: 100%;
}
@media (pointer: fine) {
  .header__menu:hover {
    cursor: pointer;
  }

  .header__menu:hover span {
    animation: menu 0.4s ease-in-out 1;
  }

  .header__menu:hover span:first-child {
    animation-delay: 0.1s;
  }

  .header__menu:hover span:nth-child(2) {
    animation-delay: 0.2s;
  }
}
.header__logo {
  width: 75px;
  height: 100px;
  margin: 0;
  grid-area: logo;
}
.header__logo_en {
  margin: 0;
}
@media (pointer: fine) {
  .header__logo:hover img {
    transform: scale(1.05);
  }
}
.header__logo img {
  transform-origin: center;
  transition: transform 0.1s linear;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.header__actions {
  justify-content: flex-end;
  gap: 4rem;
  grid-area: actions;
}
.header__request {
  text-transform: none;
}
.header__lang {
  color: white;
}

.l-intro__text {
  /*text-align: center;*/
  font-weight: 300;
  font-size: 1.3rem;
  /*margin-bottom: 5rem;*/
}
.l-intro__items {
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
  margin-top: 5rem;
}
.l-intro__item {
  padding: 0 0 2.5rem;
  border-radius: 0.8rem;
  background: linear-gradient(to right, #035dbc, #011142);
  border: 1px solid var(--item-border);
  text-align: center;
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media (pointer: fine) {
  .l-intro__item:hover .l-intro__back img {
    transform: scale(1.1);
  }
}
.l-intro__item-content {
  height: 100%;
}
.l-intro__info {
  flex-grow: 1;
}
.l-intro__name, .l-intro__description {
  padding: 0 1rem;
}
.l-intro__name {
  padding-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 500;
}
.l-intro__description {
  font-size: 0.85rem;
  margin-bottom: 2rem;
}

.l-intro__description li {
  text-align: left;
}

.l-intro__description li + li {
  margin-top: 5px;
}

.l-intro__description-text {
  margin-top: 2rem;
  /*font-size: 14px;*/
}

.l-intro__description-text p {

}

.l-intro__description-text ul {
  margin-top: 1rem;
}

.l-intro__description-text ul li {
  padding-left: 20px;
  position: relative;
}

.l-intro__description-text ul li + li {
  margin-top: 10px;
}
.l-intro__description-text ul li::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  display: block;
  background-color: white;
  border-radius: 50%;
  left: 6px;
  top: 6px;
}


.l-intro__back {
  inset: 0;
  z-index: -1;
  overflow: hidden;
  border-radius: 0.8rem;
  transform-origin: center;
}
.l-intro__back img {
  transition: transform 1s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-intro_en .l-intro__title {
  font-size: 36px;
  font-weight: 500;
}

.l-intro:not(.l-intro_en) .l-intro__text {
  font-size: 36px;
  font-weight: 500;
}

.l-intro_en .l-intro__text {
  text-align: left;
  margin-top: 30px;
  font-size: 14px;
  max-width: 100%;
  width: 100%;
  line-height: 1.6;
}
.l-intro_en .l-intro__text p + p {
  margin-top: 30px;
}

.l-experience {
  /*padding: 9.5rem 0 5rem;*/
  padding: 3.5rem 0 2rem;
}
.l-experience__body {
  gap: 2rem;
  padding-bottom: 2rem;
  /*padding-bottom: 8rem;*/
  border-bottom: 1px solid var(--experience-border-color);
}
.l-experience__quote {
  max-width: 550px;
  width: 100%;
}
.l-experience__text {
  font-weight: 300;
  font-style: italic;
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
}
.l-experience__person {
  gap: 2rem;
  align-items: center;
}
.l-experience__photo {
  border-radius: 50%;
  overflow: hidden;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}
.l-experience__photo img {
  object-fit: contain;
  width: 100%;
  height: auto;
}
.l-experience__name {
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.l-experience__position {
  font-size: 0.85rem;
  color: var(--btn-bg);
}
.l-experience__stats {
  max-width: 500px;
  width: 100%;
}
.l-experience__item + .l-experience__item {
  margin-top: 2rem;
}
.l-experience__icon {
  margin-right: 2rem;
  transform-origin: center;
  transition: transform 0.1s linear;
}
@media (pointer: fine) {
  .l-experience__icon:hover {
    transform: scale(1.1);
    cursor: pointer;
  }

  .l-experience__icon:hover .svg-shadow {
    opacity: 1;
  }
}
.l-experience__item-text {
  font-size: 1.6rem;
  font-weight: 500;
}

.svg-shadow {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.l-form__body {
  gap: 2rem;
  margin-bottom: 100px;
}
.l-form__body > div {
  flex: 1;
}
.l-form__text {
  font-size: 1.1rem;
  font-weight: 300;
}
.l-form__text_b {
  font-size: 1.8rem;
  font-weight: 500;
}
.l-form__input {
  max-width: 330px;
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 2rem;
}
.l-form__input input {
  border: none;
  display: block;
  width: 100%;
  padding: 1rem;
  font-size: 0.9rem;
  font-family: var(--font);
}
.l-form__input input::placeholder {
  color: var(--form-placeholder-color);
}
.l-form__btn .btn {
  height: 100%;
  border: none;
  padding-left: 2.8rem;
  padding-right: 2.8rem;
  font-weight: 500;
  font-family: var(--font);
}

.l-history {
  padding: 11rem 0 6rem;
}
.l-history__items {
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
}
.l-history__item {
  padding: 2rem 2rem 3rem;
  border-radius: 12px;
  position: relative;
}
.l-history__item::before {
  position: absolute;
  content: "";
  inset: 0;
  z-index: -1;
  background-color: var(--bg-dark);
  transition: opacity 0.2s linear;
  border-radius: 12px;
}
@media (pointer: fine) {
  .l-history__item:hover::before {
    opacity: 0.8;
  }
}
.l-history__picture {
  max-width: 10.5rem;
  width: 100%;
  margin: 0 auto 2rem;
  flex: 0 0 5.5rem;
}
.l-history__content {
  height: 100%;
  gap: 1.5rem;
}
.l-history__text {
  text-align: center;
  font-size: 0.9rem;
}

.l-projects__body {
  padding: 48px 68px;
  gap: 30px;
  background: linear-gradient(to right, var(--item-gr-light), var(--item-gr-dark));
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--item-border);
}
.l-projects__static {
  flex-basis: 300px;
  flex-shrink: 0;
}
.l-projects__title {
  font-size: 36px;
  font-weight: 500;
  text-transform: uppercase;
}
.l-projects__actions {
  margin-top: 55px;
  gap: 20px;
}
.l-projects__prev, .l-projects__next {
  position: relative;
  border: 1px solid white;
  width: 48px;
  height: 48px;
  border-radius: 4px;
  overflow: hidden;
  left: 0;
  right: 0;
  background: transparent;
  transition: background 0.3s linear;
}
.l-projects__prev::after, .l-projects__next::after {
  color: white;
  font-size: 24px;
}
.l-projects__prev::before, .l-projects__next::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--btn-shadow);
  z-index: -1;
  left: 0;
  top: 0;
}
@media (hover: hover) and (pointer: fine) {
  .l-projects__prev:hover, .l-projects__next:hover {
    border-color: var(--btn-shadow);
    box-shadow: 0 0 5px 1px var(--btn-shadow);
    background: var(--btn-shadow);
    transition: border-color 0.1s linear 0.3s, background 0.1s linear 0.3s, box-shadow 0.2s linear 0.4s;
  }
  .l-projects__prev:hover::before, .l-projects__next:hover::before {
    transition: transform 0.3s ease-in;
    transform: translateY(0);
  }
}
.l-projects__prev::before {
  transform: translateY(calc(100% + 1px));
}
.l-projects__next::before {
  transform: translateY(calc(-100% - 1px));
}

.l-projects-item {
  cursor: grab;
}
.l-projects-item__top {
  border-bottom: 1px solid var(--item-border);
  gap: 30px;
}
.l-projects-item__info {
  max-width: 470px;
  width: 100%;
}
.l-projects-item__name {
  font-size: 30px;
  font-weight: 500;
}
.l-projects-item__description {
  margin-top: 25px;
  padding-bottom: 25px;
  max-width: 450px;
}
.l-projects-item__logo {
  max-width: 170px;
  width: 100%;
}
.l-projects-item__bottom {
  padding-top: 25px;
}
.l-projects-item__list {
  font-size: 14px;
}
.l-projects-item__list strong {
  font-size: 24px;
  font-weight: 500;
}
.l-projects-item__list li + li {
  margin-top: 30px;
}

.footer {
  background-color: var(--bg-dark);
}
.footer__top, .footer__bottom {
  padding: 3.8rem 0;
  gap: 2rem;
}
.footer__top {
  padding-bottom: 0;
}
.footer__bottom {
  padding-bottom: 1.4rem;
}
.footer__logo {
  gap: 1.5rem;
  flex: 0 0 350px;
}
.footer__logo span {
  font-weight: 500;
}
.footer__picture {
  width: 75px;
  height: 75px;
}
.footer__picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer__box {
  max-width: 540px;
  width: 100%;
  flex-shrink: 1;
}
.footer__phone a {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--white);
}
.footer__mail {
  margin-right: 4rem;
}
.footer__mail a {
  font-size: 1.1rem;
  text-decoration: underline;
  color: var(--white);
}
.footer__links {
  flex: 0 0 350px;
}
.footer__links li + li {
  margin-top: 1rem;
}
.footer__links a {
  color: var(--white);
  font-weight: 300;
}
.footer__addresses {
  font-weight: 300;
}
.footer__addresses li + li {
  margin-top: 1.5rem;
}
.footer__addresses strong {
  display: block;
  font-weight: 500;
}
.footer__copy {
  padding: 0.9rem 0 1.5rem;
  font-size: 0.8rem;
}

.modal {
  position: fixed;
  inset: 0;
  background-color: var(--modal-bg);
  z-index: 50;
  transform: translateY(-100%);
}
.modal.opened {
  display: flex;
  transform: translateY(0);
}
.modal.opened .modal__body {
  transform: translateY(0);
}
.modal.opening {
  animation: modal 1s linear 1;
}
.modal.opening .modal__body {
  animation: modalBody 1s ease-in 1;
  animation-delay: 0.25s;
}
.modal.closing {
  animation: modal 1s linear 1 reverse;
  animation-delay: 0.1s;
}
.modal.closing .modal__body {
  animation: modalBody 1s ease-in 1 reverse;
}
.modal__body {
  transform: translateY(-300%);
  background-color: var(--white);
  width: 100%;
  padding: 2.5rem 6rem;
  border-radius: 0.8rem;
  color: #01173e;
  position: relative;
}
.modal__close {
  position: absolute;
  user-select: none;
  z-index: 100;
  top: 1rem;
  right: 1rem;
  width: 30px;
  height: 30px;
  transition: transform 0.3s linear;
  transform-origin: center;
}

@media (pointer: coarse) {
  .modal__close {
    right: 0;
    top: 0;
    width: 54px;
    height: 54px;
  }
}

@media (pointer: fine) {
  .modal__close:hover {
    cursor: pointer;
    transform: rotate(90deg);
  }
  .modal__close:hover span {
    background-color: var(--btn-bg);
  }
}


.modal__close span {
  width: 20px;
  height: 2px;
  display: block;
  background-color: black;
  transform-origin: center;
  position: absolute;
  left: 5px;
  top: calc(50% - 1px);
  transition: background-color 0.3s linear;
}

@media (pointer: coarse) {
  .modal__close span {
    left: 16px;
  }
}

.modal__close span:first-child {
  transform: rotate(45deg);
}
.modal__close span:last-child {
  transform: rotate(-45deg);
}
.modal__title {
  font-weight: 500;
  font-size: 1.9rem;
  margin-bottom: 2.2rem;
}
.modal__input {
  max-width: 330px;
  margin-bottom: 2rem;
  width: 100%;
}
.modal__input input {
  width: 100%;
  padding: 1rem;
  border-radius: 0.25rem;
  border: 1px solid #dddee3;
}
.modal__input input::placeholder {
  font-size: 0.8rem;
  color: var(--form-placeholder-color);
}
.modal__btn .btn {
  border: none;
  padding: 1rem 3rem;
}

.modal-request .modal__body {
  max-width: 525px;
}

.modal-card {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.modal-card .modal__body {
  overflow: hidden;
  background: linear-gradient(to right, var(--item-gr-light), var(--item-gr-dark));
  color: white;
  background-size: 105%;
  max-width: 770px;
  padding: 0;
}
.modal-card .modal__content {
  padding: 0 6rem 2.5rem;
}

.modal-card .modal__content ul ul {
  margin: 1rem 0;
}
.modal-card .modal__picture {
  max-height: 360px;
}
.modal-card .modal__picture img {
  display: block;
  width: 100%;
  object-fit: contain;
}
.modal-card .modal__bg {
  z-index: -1;
  inset: 0;
  overflow: hidden;
  border-radius: 12px;
}
.modal-card .modal__bg::before {
  display: none;
}
.modal-card .modal__bg img {
  object-position: center -48px;
  width: 100%;
  height: 110%;
  border-radius: 12px;
  max-width: none;
  object-fit: cover;
}
.modal-card .modal__close span {
  background-color: white;
}
.modal-card ul li {
  font-size: 14px;
  padding-left: 40px;
  position: relative;
}
.modal-card ul li::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: var(--btn-bg);
  top: 9px;
  position: absolute;
  left: 0;
}
.l-intro:not(.l-intro_en) .modal.opened {
  align-items: flex-start;
  overflow-y: auto;
}

.l-intro__item-content ul li {
  padding-left: 20px;
  position: relative;
}
.l-intro__item-content ul li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1px;
  background-color: var(--btn-bg);
  top: 9px;
  position: absolute;
  left: 0;
}
.modal-card ul li + li {
  margin-top: 15px;
}

@keyframes menu {
  0% {
    left: 0;
    box-shadow: -10px 0 3px 0 var(--white);
  }
  50% {
    left: 30%;
    box-shadow: 10px 0 3px 0 var(--white);
  }
  100% {
    left: 0;
  }
}
@keyframes btnHover {
  0% {
    box-shadow: 0 0 4px -1px var(--btn-shadow);
  }
  15% {
    box-shadow: 0 0 4px 0 var(--btn-shadow);
  }
  17% {
    box-shadow: 0 0 8px 2px var(--btn-shadow);
  }
  19% {
    box-shadow: 0 0 4px 0 var(--btn-shadow);
  }
  21% {
    box-shadow: 0 0 8px 2px var(--btn-shadow);
  }
  85% {
    box-shadow: 0 0 10px 6px var(--btn-shadow);
  }
  100% {
    box-shadow: 0 0 4px 3px var(--btn-shadow);
  }
}
@keyframes modal {
  0% {
    transform: translateY(-100%);
  }
  65% {
    transform: translateY(0%);
  }
  85% {
    transform: translateY(-10%);
  }
  95% {
    transform: translateY(0%);
  }
  95% {
    transform: translateY(-5%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes modalBody {
  0% {
    transform: translateY(-300%);
  }
  100% {
    transform: translateY(0);
  }
}
@media (max-width: 920px) {
  .l-form__body {
    flex-direction: column;
  }
  .l-projects__body {
    flex-direction: column;
  }
  .l-projects__static {
    display: flex;
    justify-content: space-between;
    flex-basis: auto;
  }
  .l-projects__actions {
    margin-top: 0;
  }
  .l-projects__slider {
    width: 100%;
  }
  .footer__mail {
    margin-right: 0;
  }
  .modal-card .modal__picture {
    user-select: none;
    max-height: 200px;
  }
  .modal-card .modal__picture img {
    user-select: none;
    object-position: top;
  }
}
@media (max-width: 768px) {
  .container {
    padding: 0 0.5rem;
  }
  .section {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .header__actions {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-end;
  }
  /*.l-intro__text {*/
  /*  margin-bottom: 2rem;*/
  /*}*/
  .l-intro__items {
    margin-top: 2rem;
  }
  .l-intro__items {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-experience {
    padding-bottom: 0;
  }
  .l-experience__body {
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 3rem;
  }
  .l-experience__stats {
    max-width: none;
  }
  .l-experience__item {
    justify-content: center;
  }
  .l-form {
    padding-top: 3rem;
  }
  .l-history {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
  .l-history__items {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-history__item {
    max-width: 370px;
    width: 100%;
    margin: 0 auto;
  }
  .l-projects__body {
    padding: 15px 20px;
  }
  .footer__top {
    gap: 1rem;
  }
  .footer__logo {
    flex-basis: auto;
    flex-direction: column;
    gap: 1rem;
  }
  .footer__picture {
    margin-right: 0;
  }
  .footer__contacts {
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
  }
  .footer__links {
    flex-shrink: 1;
  }
  .modal-card .modal__body {
    max-width: 90%;
  }
  .modal-card .modal__content {
    padding: 2rem;
  }
  .modal-card .modal__bg::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, var(--gr-light), var(--gr-dark));
    opacity: 0.9;
  }
}
@media (max-width: 550px) {
  .l-experience__item {
    justify-content: start;
  }
  .l-experience__item-text {
    font-size: 1.2rem;
  }
  .l-projects-item__logo {
    max-width: 100px;
  }
  .modal__body {
    padding: 1.5rem 3rem;
  }
  .modal__input {
    max-width: none;
  }

  .modal-card .modal__content {
    padding: 1rem;
  }
}
@media (max-height: 910px) {
  .modal-card {
    padding: 1rem;
  }
  .modal-card .modal__body {
    max-width: 500px;
  }
  .modal-card .modal__picture {
    max-height: 250px;
  }
  .modal-card .modal__content {
    padding: 1rem 2rem 1.5rem;
  }
  .modal-card .modal__content ul li + li {
    margin-top: 5px;
  }
}
@media (max-height: 730px) {
  .modal-card .modal__title {
    font-size: 1.3rem;
  }
  .modal-card .modal__picture {
    max-height: 200px;
  }
  .modal-card .modal__content ul li {
    font-size: 0.8rem;
  }
}
@media (max-height: 590px) {
  .modal-card .modal__body {
    max-width: 400px;
  }
  .modal-card .modal__title {
    font-size: 1.3rem;
  }
  .modal-card .modal__picture {
    max-height: 100px;
    display: none;
  }
  .modal-card .modal__content {
    padding: 1rem 2rem;
  }
  .modal-card .modal__content ul li {
    font-size: 0.8rem;
  }
}
@media (max-width: 480px) {
  .header__logo {
    width: 50px;
    height: 67px;
  }
  .l-form__text {
    text-align: center;
  }
  .l-form__inner {
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
  }
  .l-form__input {
    margin-right: 0;
  }
  .l-form__btn .btn {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .l-projects__title {
    font-size: 24px;
  }
  .l-projects__prev, .l-projects__next {
    width: 40px;
    height: 40px;
  }
  .l-projects-item__name {
    font-size: 22px;
  }
  .l-projects-item__logo {
    display: none;
  }
  .footer__top {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer__logo {
    flex-basis: auto;
    flex-direction: row;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }
  .footer__contacts {
    align-items: flex-start;
  }
  .footer__bottom {
    flex-direction: column;
  }
  .footer__links {
    flex-basis: auto;
  }
  .modal__body {
    padding: 1.5rem;
    overflow: hidden;
  }
  .modal__title {
    font-size: 1.4rem;
  }
  .modal-card .modal__picture {
    max-height: 150px;
  }
}
@media (max-height: 410px) {
  .modal-card {
    overflow: auto;
    align-items: flex-start;
  }
}

/*# sourceMappingURL=style.css.map */

.grecaptcha-badge {
  z-index: 100;
}

.policy-page * + * {
  margin-top: 16px;

}

.policy-page h1,
.policy-page h2 {
  margin-top: 24px;
  font-weight: 500;
  font-size: 1.1rem;
}

.policy-page h1 {
  font-size: 1.2em;
}

.policy-page a {
  color: var(--btn-bg);
  text-decoration: underline;
}