
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

@font-face {
	font-family: ALSRubl;
	src: url('../fonts/rouble.ttf');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: url('../fonts/circe_extrabold.eot');
	src: url('../fonts/circe_extrabold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/circe_extrabold.woff2') format('woff2'),
		url('../fonts/circe_extrabold.woff') format('woff'),
		url('../fonts/circe_extrabold.ttf') format('truetype'),
		url('../fonts/circe_extrabold.svg#circe_extrabold') format('svg');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: url('../fonts/circe_bold.eot');
	src: url('../fonts/circe_bold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/circe_bold.woff2') format('woff2'),
		url('../fonts/circe_bold.woff') format('woff'),
		url('../fonts/circe_bold.ttf') format('truetype'),
		url('../fonts/circe_bold.svg#circe_bold') format('svg');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: url('../fonts/circe.eot');
	src: url('../fonts/circe.eot?#iefix') format('embedded-opentype'),
		url('../fonts/circe.woff2') format('woff2'),
		url('../fonts/circe.woff') format('woff'),
		url('../fonts/circe.ttf') format('truetype'),
		url('../fonts/circe.svg#circe') format('svg');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

html{
	height:100%;
	width:100%;
}
	body{
		padding:0;
		margin:0;
		height:100%;
		width:100%;
		color:#212121;
		background-color:#fff;
		line-height:1;
		font-weight:500;
	}
		*{
			outline:none;
			box-sizing:border-box;
			font-family:'Circe', sans-serif;
			/* font-family: 'Inter'; */
		}
		img{
			vertical-align:bottom;
		}
		input{
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
		}
		rub{
			font-family:'ALSRubl';
			font-weight:300;
		}
		.anim,
		.anim *{
			-webkit-transition:.3s ease;
			transition:.3s ease;
		}
		.clear{
			float:none;
			clear:both;
		}
		a{
			color:#212121;
		}
		object{
			pointer-events:none;
		}
		h2.headof{
			font-size:48px;
		}
			h2.headof .wave{
				display:inline-block;
				width:124px;
				height:23px;
				background:url('/i/wave.png') center center no-repeat;
			}

		.btn{
			font-size:15px;
			font-weight:600;
			letter-spacing:1px;
			padding:16px 38px 14px;
			cursor:pointer;
			display:inline-block;
			position:relative;
			text-decoration:none;
			color:#fff;
			/* background-color:#3251b4; */
			background-color:#2566AF;
			border-radius:50px;
			text-transform:uppercase;
		}
		.btn:hover{
			/* background-color:#4865c2; */
			background-color:#225d9f;
		}
		.wide{
			width:100%;
			min-width:1180px;
			/* max-width:1920px; */
			position:relative;
		}
		.box{
			width:100%;
			max-width:1320px;
			min-width:1140px;
			margin:0 auto;
			padding:0 20px;
			position:relative;
		}

/* header */
.header{
	min-height:800px;
	/* height:90vh; */
	background:url('/i/header_bg.jpg') center center / cover no-repeat;
	/* background-attachment:fixed; */
	display:flex;
	flex-direction:column-reverse;
}
	.dark{
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		opacity:0;
		background:rgba(40,55,91,.8);
		z-index:500;
	}
	.header__line{
		/* background:rgba(55,69,103,0.95); */
		background:rgba(39,38,115,.95);
		padding:20px 0;
		width:100%;
		position:fixed;
		top:0;
		z-index:1000;
	}
	.header__line .top{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
		.header__line .logos {
			display:flex;
			align-items:center;
		}
			.logos img{
				height:54px;
				width:auto;
			}
			.logos object{
				height:70px;
				vertical-align:bottom;
				/* width:91px; */
			}
			.logos__sepa{
				background:url('/i/logos_sepa.png') center center / contain no-repeat;
				width:55px;
				height:54px;
				display:inline-block;
			}
		.header__line ul{
			list-style:none;
			padding:0;
			margin:0;
		}
			.header__line ul li{
				display:inline-block;
				font-size:16px;
				margin:0 16px;
				color:#fff;
				position:relative;
			}
				.header__line ul li a{
					text-decoration:none;
					color:#fff;
				}
			.header__line ul li.act{
				color:#b3c3f8;
			}
				.header__line ul li.act::after{
					content:"";
					width:8px;
					height:8px;
					background-color:#b3c3f8;
					position:absolute;
					left:50%;
					margin-left:-4px;
					bottom:-12px;
					border-radius:10px;
				}
		.mob__menubtn{
			display:none;
			flex-grow:1;
			text-align:right;
			padding-right:30px;
		}
		.top__btn .btn{
			box-shadow:0 15px 40px rgba(17, 26, 32, 0.15);
			position:relative;
			z-index:100;
		}
	.utp{
		text-align:center;
		background:url('/i/mouse.png') center bottom no-repeat;
		padding-bottom:130px;
		margin-bottom:50px;
	}
		.utp h1{
			/* font-size:75px; */
			/* line-height:70px; */
			color:#fff;
			font-size:82px;
			line-height:80px;
			font-weight:600;
			position:relative;
			z-index:800;
		}
		.utp .btn{
			padding:26px 65px 24px;
			margin-top:-35px;
			position:relative;
			z-index:800;
		}

/* projects */
.projects{
	padding:50px 0 100px;
}
.inner__projects{
	background-color:#eef0f5;
}
	.projects h2{
		text-align:center;
	}
	.p__list{
		margin-top:20px;
	}
		.p__item{
			width:480px;
			height:320px;
			background-color:#eee;
			float:left;
		}
			.p__item a{
				display:flex;
				width:100%;
				height:100%;
				align-items:flex-end;
				padding:0 0 25px 20px;
				color:#fff;
				font-size:24px;
				font-weight:600;
				line-height:26px;
				text-decoration:none;
				background: linear-gradient(180deg, transparent, rgba(25, 28, 40, 0.7));
			}
		.scrollbar {
			margin:45px auto 0 auto;
			height:8px;
			background:#e1e3e9;
			line-height:0;
			width:20%;
			border-radius:20px;
			min-width:300px;
		}
		.scrollbar .handle {
			height:100%;
			background:#2566AF;
			/* 3251b4 */
			cursor:pointer;
			border-radius:20px;
		}
		.scrollbar .handle .mousearea {
			position: absolute;
			top:-9px;
			left:0;
			width:100%;
			height:20px;
		}
.projects__page{

}
	.projects__page .p__list{
		display:flex;
		flex-wrap:wrap;
		margin-top:30px;
		justify-content:space-between;
	}
	.projects__page .p__list:after{
		content:'';
		flex-basis:33.33%;
	}
		.projects__page .p__item{
			width:33.33%;
			height:320px;
			float:none;
			margin:0 0 0 0;
		}

/* services */
.services{
	background-color:#272673;
	/* 324063 */
	padding:50px 0 80px;
}
	.services h2{
		text-align:center;
		color:#fff;
	}
	.s__list{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
		.s__item{
			width:32%;
			height:280px;
			margin-top:25px;
		}
		.s__item:hover{
			-webkit-transform: scale(1.1);
			-moz-transform: scale(1.1);
			-o-transform: scale(1.1);
			transform: scale(1.1);
		}
		.s__long{
			width:66%;
		}
			.s__item a{
				font-size:22px;
				font-weight:600;
				line-height:25px;
				text-decoration:none;
				color:#fff;
				display:flex;
				width:100%;
				height:100%;
				align-items:flex-end;
				padding:0 23px 29px 25px;
				background: linear-gradient(180deg, transparent, rgba(25, 28, 40, 0.7));
			}
				.s__name{
					padding-right:20%;
				}
				.s__dot{
					width:50px;
					height:50px;
					background:#2566AF url('/i/str.svg') center center no-repeat;
					/* 3856a2 */
					border-radius:100%;
					display:block;
					padding:25px;
				}
.services__info{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	font-size:18px;
	line-height:26px;
}
	.s__page{
		width:48%;
		margin-bottom:30px;
		padding:10px 30px 30px;
		position:relative;
	}
		.yakor{
			position:absolute;
			top:-100px;
		}
	.s__page:hover{
		background-color:#eee;
	}
	.s__image{
		width:100%;
		height:300px;
		overflow:hidden;
		text-align:center;
	}
		.s__image img{
			/* width:100%; */
			/* max-width:450px; */
			height:auto;
			max-height:300px;
		}
	.for__btn{
		text-align:center;
		margin-top:30px;
	}


/* about */
.about{
	padding:20px 0 70px;
}
	.about__info{
		font-size:18px;
		display:flex;
		line-height:26px;
		align-items:center;
		justify-content:space-between;
		/* flex-wrap:wrap; */
		margin-top:-50px;
	}
		.about__info div:first-child{
			width:70%;
			padding-right:85px;
		}
		.about__info div:last-child{
			text-align:right;
		}
		.about__info img{
			border-radius:100%;
			/* for png */
			max-width:458px;
			height:auto;
		}

/* project */
.project__head{
	min-height:800px;
	/* height:90vh; */
	display:flex;
	/* flex-direction:column; */
	flex-wrap:wrap;
	justify-content: space-between;
	align-items:flex-end;
	color:#fff;
}
.project__head::before{
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(25,28,40,0.4);
}
	.project__head .header__line{
		position:fixed;
		top:0;
		z-index:1000;
	}
	.project__name{
		align-self:flex-end;
		width:100%;
	}
	.project__name h1{
		font-size:82px;
		line-height:80px;
		font-weight:600;
		margin-top:200px;
		word-wrap: break-word;
	}
	.project__param{
		padding-bottom:70px;
		width:100%;
		z-index:800;
	}
		.project__param .box{
			display:flex;
			/* justify-content:space-between; */
		}
			.project__param .box div{
				width:25%;
				font-size:46px;
				font-weight:800;
			}
				.project__param .box div span{
					display:block;
					font-size:18px;
					font-weight:500;
				}
	.text.project__text{
		padding-top:50px;
	}
	.project__content{
		display:flex;
	}
		.p__menu{
			min-width:300px;
			font-size:20px;
			position:relative;
		}
			.p__menu div{
				position:sticky;
				top:150px;
			}
			.p__menu a{
				display:block;
				text-decoration:none;
				margin:17px 0 40px;
				position:relative;
			}
				.p__menu a span{
					background-color:#fff;
					position:relative;
					z-index:+1;
					padding-right:10px;
				}
			.p__menu a.act{
				font-size:26px;
				font-weight:800;
			}
			.p__menu a.act::after{
				content:"";
				position:absolute;
				height:3px;
				width:85%;
				background-color:#2566AF;
				/* 3251b4 */
				left:0;
				bottom:10px;
			}
		.p__text{

		}
			.p__text table{
				width:100%;
				min-width:500px;
				margin-top:10px;
				border-collapse:collapse;
			}
				.p__text table td{
					padding:8px 20px 8px 2px;
					border-bottom:solid 1px #9faed2;
				}
					.p__text table td p{
						padding:0;
						margin:0;
					}
			.p__text .p__gal{
				margin-top:20px;
				width:100%;
				height:auto;
			}

/* text */
.text{
		padding:150px 0 80px;
}
	.text h2.headof{
		text-align:center;
	}
	.content{
		font-size:18px;
		line-height:25px;
	}
		.partners{
			display:flex;
			flex-wrap:wrap;
			margin:40px 0;
			justify-content:space-around;
		}
			.partners img{
				margin:25px 70px;
			}


/* contacts */
.contacts{
	padding:50px 0 135px;
}
	.contacts .box{
		display:flex;
		justify-content:space-between;
		font-size:20px;
		font-weight:600;
		line-height:26px;
		background-color:#fff;
		flex-wrap:wrap;
	}

	.contacts a{
		color:#212121;
		text-decoration:none;
	}
	.contacts a:hover{
		color:#3c4a6b;
	}
	.contacts span{
		font-size:16px;
		color:#3c4a6b;
		display:block;
		font-weight:500;
	}
	.contact__map{
		width:100%;
		height:800px;
		overflow:hidden;
		background-color:#eee;
	}
		#map{
			height:800px;
			width:100%;
		}

/* popup */
.fancybox-slide--iframe .fancybox-content {
	width:450px;
	height:650px;
	max-width:450px;
	max-height:650px;
	margin: 0;
}

/* 404 */
.errorinside{
	display:flex;
	min-height:500px;
	justify-content:space-around;
	flex-direction:column;
}
.errorbody{
	text-align:center;

}

/* footer */
.footer{
	background-color:#272673;
	/* 324063 */
	padding:35px 0;
}
	.footer .box{
		display:flex;
		justify-content:space-between;
		color:#fff;
		font-size:18px;
		line-height:26px;
	}
	.footer a{
		color:#fff;
		text-decoration:none;
	}
	.footer a:hover{
		color:#c4cde9;
	}
	.footer span{
		font-size:16px;
		color:#7f88aa;
		display:block;
	}

/* copyright */
.copyright{
	/* background-color:#28375b; */
	background-color:#272673;
	/* 324063 */
	padding:50px 0;
}
	.copyright .box{
		display:flex;
		justify-content:space-between;
		color:#fff;
	}
	.copyright a{
		color:#fff;
		text-decoration:none;
	}
