/*---- For old browsers ----*/

@supports (not(--css: variables)) {
	.supports_error {
		display: flex !important;
	}
}

/*---- For IE ----*/

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
	.supports_error {
		display: flex !important;
	}
}

/*---- root ----*/

:root {
	--color-1: #ffffff;
	--color-2: #F6F5FA;
	--color-3: #643BFA;
	--color-4: #4d4d4e;
	--color-5: #24222A;
	--color-6: #333333;
	--color-7: #000000;
	--radius-1: 40px;
}


/*---- font ----*/

/*--IBMPlexSans--*/

/*-Thin-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 100;
	src: url(./font/IBMPlexSans/IBMPlexSans-Thin.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 100;
	src: url(./font/IBMPlexSans/IBMPlexSans-ThinItalic.ttf) format('truetype');
}

/*-ExtraLight-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 200;
	src: url(./font/IBMPlexSans/IBMPlexSans-ExtraLight.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 200;
	src: url(./font/IBMPlexSans/IBMPlexSans-ExtraLightItalic.ttf) format('truetype');
}

/*-Light-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 300;
	src: url(./font/IBMPlexSans/IBMPlexSans-Light.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 300;
	src: url(./font/IBMPlexSans/IBMPlexSans-LightItalic.ttf) format('truetype');
}

/*-Regular-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 400;
	src: url(./font/IBMPlexSans/IBMPlexSans-Regular.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 400;
	src: url(./font/IBMPlexSans/IBMPlexSans-Italic.ttf) format('truetype');
}

/*-Medium-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 500;
	src: url(./font/IBMPlexSans/IBMPlexSans-Medium.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 500;
	src: url(./font/IBMPlexSans/IBMPlexSans-MediumItalic.ttf) format('truetype');
}

/*-SemiBold-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 600;
	src: url(./font/IBMPlexSans/IBMPlexSans-SemiBold.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 600;
	src: url(./font/IBMPlexSans/IBMPlexSans-SemiBoldItalic.ttf) format('truetype');
}

/*-Bold-*/

@font-face {
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 700;
	src: url(./font/IBMPlexSans/IBMPlexSans-Bold.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSans";
	font-style: italic;
	font-weight: 700;
	src: url(./font/IBMPlexSans/IBMPlexSans-BoldItalic.ttf) format('truetype');
}

/*--IBMPlexSansCondensed--*/

/*-Thin-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 100;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Thin.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 100;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-ThinItalic.ttf) format('truetype');
}

/*-ExtraLight-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 200;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-ExtraLight.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 200;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-ExtraLightItalic.ttf) format('truetype');
}

/*-Light-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 300;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Light.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 300;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-LightItalic.ttf) format('truetype');
}

/*-Regular-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 400;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Regular.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 400;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Italic.ttf) format('truetype');
}

/*-Medium-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 500;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Medium.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 500;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-MediumItalic.ttf) format('truetype');
}

/*-SemiBold-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 600;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-SemiBold.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 600;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-SemiBoldItalic.ttf) format('truetype');
}

/*-Bold-*/

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: normal;
	font-weight: 700;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-Bold.ttf) format('truetype');
}

@font-face {
	font-family: "IBMPlexSansCondensed";
	font-style: italic;
	font-weight: 700;
	src: url(./font/IBMPlexSansCondensed/IBMPlexSansCondensed-BoldItalic.ttf) format('truetype');
}

/*--IBMPlexMono--*/

/*-Light-*/

@font-face {
	font-family: "IBMPlexMono";
	font-style: normal;
	font-weight: 300;
	src: url(./font/IBMPlexMono/IBMPlexMono-Light.ttf) format('truetype');
}

/*-Regular-*/

@font-face {
	font-family: "IBMPlexMono";
	font-style: normal;
	font-weight: 400;
	src: url(./font/IBMPlexMono/IBMPlexMono-Regular.ttf) format('truetype');
}

/*-Medium-*/

@font-face {
	font-family: "IBMPlexMono";
	font-style: normal;
	font-weight: 500;
	src: url(./font/IBMPlexMono/IBMPlexMono-Medium.ttf) format('truetype');
}

/*-Bold-*/

@font-face {
	font-family: "IBMPlexMono";
	font-style: normal;
	font-weight: 700;
	src: url(./font/IBMPlexMono/IBMPlexMono-Bold.ttf) format('truetype');
}

/*---- Reset styles ----*/

html {
	height: 100%;
	min-height: -moz-available;
	min-height: -webkit-fill-available;
	min-height: fill-available;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--color-5);
	color: var(--color-6);
	font-family: "IBMPlexSans";
	font-style: normal;
	font-weight: 400;
	font-weight: 16px;
	line-height: 150%;
}

/* body *::selection {
	color: var(--color-1);
	background: var(--color-3);
}

body *::-moz-selection {
	color: var(--color-1);
	background: var(--color-3);
}

body::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 10px;
}

body::-webkit-scrollbar-track {
	background: var(--color-1);
}

body::-webkit-scrollbar-thumb {
	border: 5px solid var(--color-6);
} */

a,
a:is(:active, :focus) {
	color: var(--color-3);
}

img {
	border-style: none;
}

textarea {
	overflow: auto;
}

:focus {
	outline: 0;
}

:hover,
:active {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
}

::-ms-clear {
	display: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

h1,
h2,
h3 {
	line-height: 120%;
	font-family: 'IBMPlexSansCondensed';
	font-weight: 600;
}

h1 {
	font-size: 56px;
}

h2 {
	font-size: 40px;
}

h3 {
	font-size: 28px;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul li {
	position: relative;
	padding-left: 15px;
}

ul li::before {
	position: absolute;
	content: '';
	width: 5px;
	height: 5px;
	left: 0;
	top: 11px;
	background-color: var(--color-6);
	border-radius: 50%;
}

nav ul li {
	padding-left: 0;
}

nav ul li::before {
	display: none;
}

a {
	text-decoration: none;
	transition: all .3s;
}

button {
	background: none;
	border: none;
	outline: none;
}

@media screen and (max-width:1439px) {
	h1 {
		font-size: 40px;
	}

	h2 {
		font-size: 32px;
	}

	h3 {
		font-size: 24px;
	}
}

@media screen and (max-width:767px) {
	h1 {
		font-size: 28px;
	}

	h2 {
		font-size: 24px;
	}

	h3 {
		font-size: 20px;
	}
}

/*---- Reset class ----*/

.container {
	max-width: 1440px;
	width: 100%;
	margin-left: 0;
	margin-right: auto;
}

main .content_block {
	background-color: var(--color-1);
}

.content_block {
	padding: 40px 120px 80px 80px;
}

section .content_block+.content_block {
	padding-top: 0 !important;
	border-top: 0;
}

section .content_block {
	border-top: 1px solid var(--color-4);
}

section.color_bg_block+section .content_block,
main section:first-child .content_block,
section.color_bg_block+section.color_bg_block {
	/* border: none; */
}

section:not(.grey_bg_block)+section.grey_bg_block .content_block {
	/* border: none; */
}

.card {
	background-color: var(--color-2);
	padding: 20px;
}

/*-color bg-*/

.color_bg_block .content_block {
	background-image: url(./img/bg.webp);
	background-position: center;
	background-size: 100% 100%;
	background-color: transparent !important;
	color: var(--color-1);
}

.grey_bg_block .content_block {
	background-color: var(--color-2);
}

/*-inset blocks-*/

.line.title+.line {
	margin-top: 60px;
}

.line+.line {
	margin-top: 40px;
}

@media screen and (max-width:1439px) {
	.line+.line {
		margin-top: 30px;
	}
}

@media screen and (max-width:1023px) {
	.line+.line {
		margin-top: 20px;
	}
}

.text_block>*:not(:first-child) {
	margin-top: 20px;
}

.text_block a:hover {
	opacity: .8;
}

/*-text-*/

.lead {
	font-family: 'IBMPlexSansCondensed';
	font-weight: 400;
	font-size: 24px;
	line-height: 120%;
}

.overline {
	font-family: "IBMPlexSans";
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.navigation {
	font-family: "IBMPlexSans";
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
}

.body_text {
	font-family: "IBMPlexSans";
	font-weight: 400;
	font-size: 16px;
	line-height: 150%;
	color: var(--color-6);
}

.number {
	font-family: "IBMPlexMono";
	font-weight: 400;
	font-size: 16px;
	line-height: 150%;
	color: var(--color-6);
}

.caption {
	font-family: "IBMPlexSans";
	font-weight: 600;
	font-size: 13px;
	line-height: 16px;
	letter-spacing: 0.03em;
	color: var(--color-6);
}

/*-btns-*/

.btn {
	padding: 8px 19px 8px 25px;
	border: 1px solid var(--color-3);
	background-color: transparent;
	color: var(--color-3);
	border-radius: 30px;
	display: inline-block;
	align-items: center;
	margin-right: 20px;
	font-family: "IBMPlexSans";
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
}

.btn:hover {
	opacity: .8;
}

.btn.disabled {
	border-color: #999999;
	color: #999999;
	pointer-events: none;
}

.btn.disabled svg path {
	fill: #999999;
}

.btn svg {
	margin-left: 15px;
	position: relative;
	top: 1px;
}

.btn svg path {
	fill: var(--color-3);
	transition: all .3s;
}

.btn.color {
	background-color: var(--color-3);
	color: var(--color-1);
}

.btn.color svg path {
	fill: var(--color-1);
}

.btn.color.disabled {
	background-color: #999999;
	color: var(--color-1);
}

.btn.simple {
	border-color: transparent;
	padding-left: 0;
	padding-right: 0;
}

/*-adaptive-*/

@media screen and (max-width: 1919px) {
	.container {
		max-width: 1200px;
	}

	.content_block {
		padding: 40px 90px 80px 60px;
	}
}

@media screen and (max-width: 1439px) {
	.container {
		max-width: 964px;
	}

	.content_block {
		padding: 30px 60px 60px 30px;
	}

	.lead {
		font-size: 20px;
	}

	.line.title+.line {
		margin-top: 20px;
	}

	.line+.line {
		margin-top: 30px;
	}

	.line .lg-12+.lg-12 {
		margin-top: 20px;
	}
}

@media screen and (max-width: 1023px) {
	.container {
		max-width: 738px;
	}

	.content_block {
		padding: 20px 40px 40px 20px;
	}

	.line+.line {
		margin-top: 20px;
	}

	.line .md-12+.md-12 {
		margin-top: 20px;
	}
}

@media screen and (max-width: 767px) {
	.container {
		max-width: 610px;
	}

	.content_block {
		padding: 20px 40px 40px 20px;
	}

	.lead {
		font-size: 18px;
	}

	.line .sm-12+.sm-12 {
		margin-top: 20px;
	}

}

@media screen and (max-width: 639px) {
	.container {
		max-width: 360px;
	}

	.content_block {
		padding: 20px;
	}

	.line .xs-12+.xs-12 {
		margin-top: 20px;
	}

	.btn {
		margin-right: 0;
		display: flex;
		width: fit-content;
	}
}

@media screen and (max-width: 359px) {
	.container {
		max-width: 100%;
	}

	.line .xxs-12+.xxs-12 {
		margin-top: 20px;
	}

}

/*----header----*/

header {
	position: relative;
	z-index: 4;
}

header * {
	color: var(--color-1);
}

header h2 {
	font-weight: 300;
}

header .content_block {
	border-top: 0 !important;
	height: 440px;
}

/*-logo menu block-*/

.logo_menu_block {
	padding: 18px 18px 30px 18px;
	overflow: hidden;
	position: fixed;
	height: 280px;
	max-width: 300px;
	width: 100%;
	transition: .15s;
}

.logo_menu_block>.flex {
	height: 100%;
	align-items: flex-start;
	align-content: flex-start;
}

.logo_block img,
.hide_logo_block img {
	width: 208px;
}

.logo_block {
	width: 34px;
	height: 34px;
	overflow: hidden;
	transition: all .3s;
}

.logo_menu_block:not(.active):hover .logo_block,
.logo_menu_block.active .logo_block {
	width: auto;
	height: auto;
	overflow: visible;
}

.logo_menu_block .hide_logo_block,
.logo_menu_block.active .logo_block {
	display: none;
}

.logo_menu_block.active .hide_logo_block {
	display: block;
}

/*-logo menu block animation-*/

.logo_menu_block::before {
	content: '';
	position: absolute;
	width: 70px;
	height: 70px;
	background-color: var(--color-3);
	border-radius: 50%;
	top: 0;
	left: 0;
	z-index: 0;
	/* transition: width .2s, height .2s, border-radius .05s .15s; */
}

.logo_menu_block.active::before {
	transition: 0s !important;
	animation: none !important;
	width: 100%;
	height: 100%;
	border-radius: 0;
}

.logo_menu_block:not(.active):hover::before {
	width: 100%;
	height: 100%;
	border-radius: 0;
	/* transition: width .2s, height .2s, border-radius 0s; */
}


@keyframes logo_menu_show {
	0% {
		border-radius: 50%;
	}

	1% {
		border-radius: 0%;
	}

	100% {
		border-radius: 0%;
	}
}

.logo_menu_block.active::before {
	animation: linear .1s both logo_menu_show_3;
}

@keyframes logo_menu_show_3 {
	0% {
		width: 70px;
		height: 70px;
		border-radius: 50%;
	}

	33% {
		border-radius: 0%;
	}

	100% {
		width: 100%;
		height: 100%;
		border-radius: 0%;
	}
}

.logo_menu_block.active.scroll::before {
	animation: linear .1s both logo_menu_show_2;
}

@keyframes logo_menu_show_2 {
	0% {
		width: 100%;
		height: 100%;
		border-radius: 0%;
	}

	75% {
		width: 70px;
		height: 70px;
		border-radius: 0%;
	}

	100% {
		width: 70px;
		height: 70px;
		border-radius: 50%;
	}
}

@keyframes logo_menu_block_show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.logo_menu_block:not(.active):hover .menu {
	opacity: 1;
}

.logo_menu_block.scroll .menu {
	/*animation: linear both .2s menu_show;*/
}

@keyframes menu_show {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.logo_menu_block:not(.active):not(.scroll) {
	display: none;
}

/*-adaptive-*/

@media screen and (max-width:1439px) {
	.logo_menu_block {
		max-width: 430px;
	}
}

@media screen and (max-width:1023px) {
	.logo_menu_block {
		max-width: 330px;
	}
}

@media screen and (max-width:767px) {

	header .line>.flex>div:first-child {
		min-height: 70px;
	}

	.logo_menu_block.active {
		position: relative;
	}

	.logo_menu_block.scroll {
		position: flex;
		top: 20px;
	}

	header .content_block {
		height: auto !important;
	}

	.logo_menu_block:not(.active):hover .logo_block,
	.logo_menu_block.active .logo_block {
		width: 34px;
		height: 34px;
	}

	.logo_menu_block:not(.active):hover .menu {
		animation: none;
	}

	.logo_menu_block {
		transition: 0s;
	}

	.logo_menu_block.scroll::before {
		transition: 0s;
	}

	.logo_menu_block:not(.active):hover::before {
		width: 70px;
		height: 70px;
		border-radius: 50%;
	}

	.logo_menu_block:not(.active) {
		height: 70px;
		width: 70px;
		padding: 18px 18px 0px 18px;
	}

	.logo_menu_block:not(.active) .menu {
		opacity: 0 !important;
	}

	.logo_menu_block.mobactive .menu {
		opacity: 1 !important;
		width: 100%;
		/*transition-delay: .2s !important;*/
	}

	.logo_menu_block.active {
		max-width: 100%;
	}

	.logo_menu_block.mobactive {
		height: 280px;
		width: 100%;
		padding: 18px 18px 30px 18px;
	}

	.logo_menu_block.mobactive .hide_logo_block {
		display: none;
	}

	.logo_menu_block.mobactive .logo_block {
		display: block;
		width: 100% !important;
	}

	.logo_menu_block.active .hide_logo_block {
		display: block;
	}

	.logo_menu_block.active .logo_block {
		display: none;
	}

	.logo_menu_block.scroll.mobactive::before {
		width: 100% !important;
		height: 100% !important;
		border-radius: 0 !important;
	}

	.logo_menu_block:not(.active)::before {
		animation-delay: 0;
	}

	.logo_menu_block.mobactive .menu {
		opacity: 1;
		transition: all .3s;
		display: block;
	}

}

/*-menu-*/

.logo_menu_block>* {
	position: relative;
	z-index: 1;
}

.logo_menu_block .menu {
	margin-top: 20px;
	opacity: 0;
}

.logo_menu_block .menu li {
	line-height: 1;
}

.logo_menu_block .menu a {
	color: var(--color-5);
}

.logo_menu_block .menu .active a,
.logo_menu_block .menu a:hover {
	color: var(--color-1);
}

.logo_menu_block .menu .flex {
	gap: 15px;
	align-items: flex-start;
}

.logo_menu_block.active .menu {
	opacity: 1;
	transition: all .3s;
	display: block;
}

/*-adaptive-*/

@media screen and (max-width:1919px) {
	header .content_block {
		height: 390px;
	}
}

@media screen and (max-width:1439px) {

	header .content_block {
		height: 320px;
	}
}

@media screen and (max-width:767px) {

	.logo_menu_block {
		max-width: 550px;
	}
}

@media screen and (max-width:639px) {

	.logo_menu_block {
		max-width: 320px;
	}
}

@media screen and (max-width:359px) {

	.logo_menu_block {
		max-width: calc(100% - 40px);
	}
}

/*----image/images block----*/

.image_block img {
	width: 100%;
}

.images_block .img_block_container img {
	max-width: 750px;
	height: auto;
	width: 100%;
	display: block;
	text-align: left;
	box-shadow: 5px 5px 0px #00000017;
}

.images_block .img_block_container+.img_block_container {
	margin-top: -277px;
}

.images_block .img_block_container+.img_block_container img {
	margin-right: 0;
	margin-left: auto;
	text-align: left;
	box-shadow: 20px 20px 0px #00000017;
}

@media screen and (max-width: 767px) {
	.images_block .img_block_container img {
		box-shadow: 0 0 0 !important;
	}
}

/*-adaptive-*/

@media screen and (max-width:1919px) {
	.images_block .img_block_container img {
		max-width: 690px;
	}

	.images_block .img_block_container+.img_block_container {
		margin-top: -180px;
	}
}

@media screen and (max-width:1439px) {
	.images_block .img_block_container img {
		max-width: 570px;
	}

	.images_block .img_block_container+.img_block_container {
		margin-top: -110px;
	}
}

@media screen and (max-width:1023px) {
	.images_block .img_block_container img {
		max-width: 570px;
	}

	.images_block .img_block_container+.img_block_container {
		margin-top: -110px;
	}
}

@media screen and (max-width:767px) {
	.images_block .img_block_container img {
		max-width: 100%;
	}

	.images_block .img_block_container+.img_block_container {
		margin-top: 20px;
	}
}

/*---accordion block----*/

.acc_item {
	cursor: pointer;
}

.acc_list>.acc_item+.acc_item {
	margin-top: 20px;
}

.acc_head {
	position: relative;
	padding: 20px;
	background-color: var(--color-2);
}

.acc_head .cross_block {
	width: 14px;
	height: 14px;
	position: absolute;
	right: 25px;
	top: calc(50% - 7px);
}

.acc_head .acc_title {
	padding-right: 60px;
}

.acc_head .cross_block span {
	position: absolute;
	width: 14px;
	height: 2;
	top: calc(50% - 1px);
	left: 0px;
	background-color: var(--color-3);
}

.acc_item:hover .cross_block span {
	opacity: .8;
	;
}

.acc_head .cross_block span+span {
	transform: rotate(90deg);
}

.acc_head.active .cross_block span+span {
	transform: rotate(0deg);
}

.acc_head+.acc_body {
	padding: 0;
	margin: auto;
	background-color: var(--color-2);
	padding: 0 20px 20px 20px;
}

/*----contact block----*/

.contacts_block {
	margin-bottom: 90px;
	margin-top: 40px;
}

.contacts_block .text_block .mail {
	color: var(--color-1);
	position: relative;
}

.contacts_block .text_block .mail+a {
	display: block;
}

/*-adaptive-*/

@media screen and (max-width: 1439px) {
	.contacts_block {
		margin-bottom: 70px;
		margin-top: 30px;
	}
}

@media screen and (max-width: 1023px) {
	.contacts_block {
		margin-bottom: 50px;
		margin-top: 20px;
	}
}

/*----footer----*/

footer .text_block>* {
	color: var(--color-1);
}

footer a {
	color: var(--color-1);
}

footer .caption {
	font-weight: 400;
}

footer .content_block {
	padding-bottom: 20px;
}

footer .design_by {
	margin-top: 100px !important;
}

footer .design_by a {
	color: #7F7F7F;
}

footer .foot_link {
	display: inline-block;
	margin-bottom: 60px;
}

footer .foot_link:hover {
	opacity: .8;
}

/*-adaptive-*/

@media (min-height: 768px) {
	.contacts_block .text_block .mail {
		margin-top: 15px;
		display: block;
	}
}

@media screen and (max-width:1439px) {
	footer .design_by {
		margin-top: 80px !important;
	}
}

@media screen and (max-width:1023px) {
	footer .design_by {
		margin-top: 60px !important;
	}
}


.logo_link {
	display: flex;
}

@media screen and (max-width:767px) {
	.logo_link {
		pointer-events: none;
	}
}

/*----new 20.12.2023----*/

@media (min-width:1024px) {
	.container {
		max-width: 100%;
		padding-right: 120px;
	}
}

a.link:hover {
	color: var(--color-5) !important;
}

/* 23.02.2025 */
header .logo_link {
	position: relative;
}

header .logo_link span {
	bottom: -26px;
	left: 51px;
	font-family: "IBMPlexSans";
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	position: absolute;
}

.grid {
	display: grid;
}

.grid.two_column {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	align-items: start;
	gap: 40px 30px;
}

header .content_block {
	background-image: url(./img/texture_1.webp);
	background-position: right center;
	background-repeat: no-repeat;
}

.w_bg .content_block {
	background-image: url(./img/texture_2.webp);
	background-position: 80px center;
	background-repeat: no-repeat;
}

.lead,
.body_text {
	text-wrap: balance;
}

main .lead+.lead {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid var(--color-7);
}

.color_bg_block .content_block .body_text {
	color: var(--color-1);
}

.color_bg_block .content_block .body_text li::before {
	background-color: var(--color-1);
}

.title_line+.line {
	margin-top: 60px;
}

.count_block .flex {
	gap: 40px 0;
}

.count_block ol {
	counter-reset: li;
	list-style-type: none;
	padding-left: 0;
}

.count_block ol li.color::before,
.count_block ol li.color {
	color: var(--color-3);
}

.count_block ol li::before {
	counter-increment: li;
	content: counter(li, decimal-leading-zero) ". ";
	margin-right: 20px;
}

.infographics_block:not(.mini) .img_block {
	width: 100px;
	height: 100px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}

.infographics_block .img_block+.text_block {
	margin-top: 20px;
}

.contact_item {
	display: flex;
	gap: 20px;
	margin-top: 20px;
}

.contact_item:first-child {
	margin-top: 40px;
}

.contact_item svg {
	position: relative;
	top: 4px;
}

.image_block.bottom_position {
	margin-bottom: -80px;
	height: calc(100% + 80px);
	position: relative;
	max-width: 730px;
	width: 100%;
}

.image_block.bottom_position img {
	width: 505px;
}

.image_block.bottom_position picture {
	transition: all .5s ease-in-out;
	display: block;
}

.image_block.bottom_position a {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.image_block.bottom_position a:hover picture {
	transform: scale(1.05);
}

.image_block.bottom_position a+a {
	top: 50%;
	transform: translate(-50%, -50%);
	left: 50%;
	z-index: 1;
}

.image_block.bottom_position a+a+a {
	left: auto;
	top: auto;
	transform: none;
	right: 0;
	bottom: 0;
}

footer .contacts_block br {
	display: none;
}

@media screen and (max-width: 1439px) {
	.title_line+.line {
		margin-top: 40px;
	}

	.image_block.bottom_position img {
		width: 460px;
	}

	.image_block.bottom_position {
		margin-bottom: -60px;
		height: calc(100% + 60px);
	}
}

@media screen and (max-width: 1259px) {

	.image_block.bottom_position img {
		width: 350px;
	}
}

@media screen and (max-width:1023px) {

	.image_block.bottom_position a {
		position: relative;
		display: inline-block;
		top: auto !important;
		left: auto !important;
		bottom: auto !important;
		right: auto !important;
		transform: none !important;
	}


	.image_block.bottom_position a+a {
		margin-left: calc(50% - 175px);
		margin-top: -15%;
	}


	.image_block.bottom_position a+a+a {
		margin-left: calc(100% - 350px);
		margin-right: 0;
	}

	.image_block.bottom_position img {
		width: 350px;
	}

	footer .contacts_block br {
		display: block;
	}

	.image_block.bottom_position {
		margin-bottom: -40px;
		height: calc(100% + 40px);
		margin-top: 40px;
	}

	.w_bg .content_block {
		background-position: right center;
	}

	.line .md-column-reverse .md-12+.md-12 {
		margin-top: 0;
	}
}

@media screen and (max-width: 639px) {

	.image_block.bottom_position a+a {
		margin-left: calc(50% - 110px);
		margin-top: -20%;
	}


	.image_block.bottom_position a+a+a {
		margin-left: calc(100% - 220px);
		margin-right: 0;
	}

	.image_block.bottom_position img {
		width: 220px;
	}

	header .content_block,
	.w_bg .content_block {
		background-size: cover;
		background-position: center -50%;
	}

	.image_block.bottom_position {
		margin-bottom: -20px;
		height: calc(100% + 20px);
	}

	.grid {
		display: flex;
		flex-wrap: wrap;
		gap: 20px !important;
	}

	.grid>* {
		flex: 100%;
	}

	.infographics_block:not(.mini) .item,
	.infographics_block.mini .line {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		align-items: flex-start;
		margin-top: 20px;
	}

	.infographics_block.mini .line {
		margin-top: 0;
	}

	.infographics_block .line {
		align-items: center;
	}

	.infographics_block:not(.mini) .item>.line:first-child {
		order: 1;
		flex: 100px;
		max-width: 100px;
		width: 100%;
	}

	.infographics_block:not(.mini) .item>.line:first-child+.line {
		order: 0;
		flex: calc(100% - 120px);
		max-width: calc(100% - 120px);
		width: 100%;
		margin: 0;
	}

	.infographics_block:not(.mini) .img_block {
		height: auto;
	}

	.infographics_block.mini .img_block {
		max-width: 48px;
		flex: 48px;
		width: 100%;
	}

	.infographics_block.mini .img_block+.text_block {
		max-width: calc(100% - 68px);
		flex: calc(100% - 68px);
		width: 100%;
		margin-top: 0;
	}
}