#banner>video, .play-video .video, .play-video video {
	position: absolute;
	z-index: 1;
	object-fit: cover;
	width: 100%
}
#banner .desc, #process .top {
	position: relative;
}
#process .desc1, #why .desc1 {
	max-width: 465px
}
#process .top:before, #services2 .bg:after, #services2 .bg:before {
	transform: translateY(-50%);
	pointer-events: none
}
.niches>div, .solutions>div {
	margin: 0 12px;
	max-width: calc(25% - 24px)
}
.niches>div, .solutions .info {
	color: var(--Grey-Text, #7f7893)
}
#banner.cooperation>div:not(#v3d-container) {
	display: block;
	height: auto;
	padding: 0
}
#banner>video {
	top: 100px;
	left: 0;
	object-position: left center;
	height: 1080px;
	display: block;
	max-width:2000px;
}
@media screen and (min-width:2000px) {
	#banner > video {
	left:calc(50% - 1000px);
}
#list > video {
	max-width:2000px;
	right:calc(50% - 1000px);
}
}
#banner.onseo>img.video {
	object-fit: unset;
	height: auto;
	right: auto;
	left: 120px;
	top: 110px
}
#banner>.video+img, #banner>video+img {
	position: absolute;
	width: 1920px;
	right: 0;
	top: 0;
	pointer-events: none;
	z-index: 2;
	min-width: 100%
}
#banner.onseo video+img {
	height: 1080px;
	object-fit: unset
}
#banner h1 {
	color: #fff;
	text-transform: uppercase;
	font-size: 124px;
	line-height: 1;
	font-weight: 600;
	margin: 0 0 40px
}
#banner h1 span {
	display: block
}
#banner .btn {
	margin: -40px auto 0;
	transform: translateX(-110px)
}
#banner .desc {
	color: #fff;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 500;
	width: 100%;
	overflow: hidden
}
#process .desc2, #solutions .sub {
	font-size: 28px;
	text-transform: uppercase
}
#banner .desc textarea {
	font-family: IBM Plex Sans;
	font-size: 17px
}
#banner .desc1 {
	margin-left: 120px
}
#banner .desc1 textarea {
	min-height: 170px
}
#banner .desc2 textarea {
	min-height: 75px
}
#banner .btn-inline {
	margin-top: 40px
}
#banner .d-flex {
	justify-content: space-between
}
@media screen and (max-width:1440px) {
	#banner h1 {
		font-size: 8vw
	}
}
@media screen and (min-width:1250px) and (max-height:900px) {
	#banner>div {
		padding: 120px 0 50px
	}
	#banner h1 {
		font-size: 100px
	}
}
#list>div, #other, #process {
	padding: 150px 0
}
@media screen and (min-width:1250px) and (max-height:800px) {
	#banner h1 {
		font-size: 12vh
	}
}
.play-video {
	position: relative;
	overflow: hidden
}
.play-video .video, .play-video video {
	right: 0;
	top: 0;
	height: 100%;
	object-position: center center
}
#process .top, #why .container>*, .play-video .video~div. .play-video video~div {
	position: relative;
	z-index: 2
}
#solutions {
	padding: 100px 0 1px
}
#solutions .section-title {
	margin: 0 0 20px
}
#solutions .desc {
	max-width: 465px;
	margin: 0 0 60px auto
}
#solutions .sub {
	margin: 0 0 30px;
	font-weight: 600;
	line-height: 1.3
}
.solutions, .why {
	margin: 0 -12px;
	align-items: flex-start
}
.solutions>div {
	width: 100%;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 0;
	position: relative;
	transition: .25s
}
.solutions .more {
	display: none;
	stroke: var(--Primary, #3667FF);
	position: absolute;
	right: 10px;
	bottom: 10px;
	transition: .6s
}
.solutions .head {
	align-items: center
}
.solutions .head p {
	margin-left: 30px;
	padding-right: 15px
}
.solutions .head img {
	display: block;
	margin-bottom: -2px
}
.solutions .info {
	font-size: 14px;
	line-height: 1.3;
	padding: 0 30px 30px;
	transition: .6s;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	position: relative;
	overflow: hidden
}
#list {
	position: relative;
	z-index: 4
}
#list spline-viewer {
	position: absolute;
	top: 150px
}
#list>div, .list {
	position: relative
}
#list>div {
	z-index: 2
}
#list .section-title {
	margin: 0 0 100px;
	text-align: center
}
.list {
	background: url(../images/line1.svg) top left/100% no-repeat;
	max-width: 1252px;
	height: 872px
}
.list a,
.list p {
	position: absolute;
	display: flex;
	align-items: center;
	color:#fff;
	z-index: 2
}
.list a:before,
.list p:before {
	content: '·';
	display: block;
	width: 64px;
	min-width: 64px;
	line-height: 64px;
	height: 64px;
	border-radius: 100%;
	background: #3667ff;
	text-align: center
}
.list a:before {
	content:' ';
}
.list a:before {
	content: ' ';
	display: block;
	width: 64px;
	min-width: 64px;
	line-height: 64px;
	border-radius: 100%;
	background-image: url("data:image/svg+xml,%3Csvg width='34' height='34' viewBox='0 0 34 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3193 26.3887L16.4336 25.3506L16.375 25.2813L16.4385 25.2158L23.3184 18.1162H7.01758V16.5322H23.3184L16.4385 9.43262L16.375 9.36719L16.4336 9.29785L17.3193 8.25977L17.3906 8.17578L17.4668 8.25488L26.1895 17.2549L26.2568 17.3242L26.1895 17.3936L17.4668 26.3936L17.3906 26.4727L17.3193 26.3887Z' fill='white' stroke='white' stroke-width='0.2'/%3E%3C/svg%3E%0A");
	background-color: #3667ff;
	background-repeat:no-repeat;
	background-position: center;
	text-align: center;
	transform: rotate(-45deg);
	transition:all linear .25s;
}
.list a span,
.list p span {
	padding: 20px 30px;
	margin-left: 10px;
	display: block;
	white-space: nowrap;
	border-radius: 100px;
	background: url(../images/dot11.svg) center center/cover no-repeat;
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}
.list a span {
	background: #fff;
	color:#0E0F12;
}
.list a:hover span {
	background: #DFF0AC;
}
.list a:hover:before {
	transform: rotate(0deg);
}
.list .p1 {
	left: 308px;
	top: -30px
}
.list .p2 {
	top: 0;
	left: 664px
}
.list .p3 {
	left: 970px;
	top: -10px
}
.list .p4 {
	top: 169px;
	left: 1190px
}
.list .p5 {
	top: 359px;
	left: 1218px
}
.list .p6 {
	top: 523px;
	left: 1124px
}
.list .p7 {
	top: 672px;
	left: 983px
}
.list .p8 {
	top: 840px;
	left: 868px
}
.list .p9 {
	top: 767px;
	left: 569px
}
.list .p10 {
	top: 642px;
	left: 331px
}
.list .p11 {
	top: 521px;
	left: 105px
}
.list .p12 {
	top: 379px;
	left: -25px
}
.list .p13 {
	top: 247px;
	left: 49px
}
.list .p14 {
	top: 105px;
	left: 152px
}
#process .section-title {
	margin: 0 0 60px;
	position: relative;
	z-index: 3
}
#process .top:before {
	content: url(../images/bg4.svg);
	position: absolute;
	right: -150px;
	top: 0
}
#process .info, #process .info>div, #services2, #services2 .bg, #why .container, .markets>div, .niches>div, .services2 .desc, .services2 .slick-slide, .services2 .str_wrap, .services2>div {
	position: relative
}
#process .top .d-flex {
	padding-left: 240px;
	position: relative;
	z-index: 2
}
#process .desc2 {
	max-width: 585px;
	font-weight: 600;
	line-height: 1.3
}
#why .why {
	position: relative;
	z-index: 2;
}
#process .info {
	padding-top: 460px;
	margin-top: 0px
}
#process .info .bg {
	max-width: 100%;
	background: url(../images/line2.webp) center top no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1
}
#process .info .bg2 {
	max-width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3
}
#process .info .bg2:after {
	content: ' ';
	position: fixed;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 50vh;
	opacity: 0;
	visibility: hidden;
	transition: .25s;
	background: linear-gradient(180deg, rgba(20, 11, 39, 0) 0, #140b27 68.87%)
}
#process .info .bg2.fix:after {
	opacity: 1;
	visibility: visible
}
#process .info>div {
	max-width: 1255px;
	margin: 0 auto;
	z-index: 2
}
#process .info>div>.d-flex {
	margin-bottom: 80px;
	max-width: 645px;
	align-items: center
}
#process .info>div>.d-flex:nth-child(2n) {
	margin-left: auto
}
#process .info .number {
	border-radius: 100%;
	width: 106px;
	line-height: 106px;
	min-width: 106px;
	margin-right: 55px;
	text-align: center;
	height: 106px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-weight: 600;
	color: var(--Black, #0e0f12);
	background: #fff;
	padding-top: 3px
}
#process .content {
	background: linear-gradient(180deg, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 0) 100%), linear-gradient(102deg, rgba(20, 11, 39, .2) 8.97%, rgba(20, 11, 39, 0) 100%);
	backdrop-filter: blur(40px);
	-webkit-backdrop-filter: blur(40px);
	padding: 30px
}
#process .content .title {
	margin: 0 0 20px;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.5
}
#process .content .text ul {
	list-style: disc;
	margin: 0;
	padding-left: 30px
}
#services2 {
	padding: 0 0 140px
}
#services2 .bg:before {
	content: url(../images/bg51.svg);
	position: absolute;
	right: calc(100% - 400px);
	top: 50%;
	z-index: 2
}
#services2 .bg:after {
	content: url(../images/bg52.svg);
	position: absolute;
	left: calc(100% - 550px);
	top: 15%;
	z-index: 2
}
#services2 .section-title {
	margin: 0 0 75px;
	text-align: center;
	font-size: 58px;
	line-height: 1.25
}
.services2 .desc {
	height: 220px;
	padding: 15px 17px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #2b233d;
	border-bottom: 1px solid #2b233d
}
.blog .layout, .other>a {
	border-bottom: 1px solid rgba(255, 255, 255, .1)
}
.services2 .desc+.desc {
	border: 0;
	background: url(../images/bgs2.png) center center/cover no-repeat
}
.services2 .str_move>div:nth-child(odd)>.desc {
	border: 0;
	background: url(../images/bgs1.png) center center/cover no-repeat
}
.services2 .str_move>div:nth-child(odd)>.desc+.desc {
	border-top: 1px solid #2b233d;
	border-bottom: 1px solid #2b233d;
	background: 0 0
}
.services2 .str_wrap {
	overflow: hidden;
	width: 100%;
	display: flex;
	-moz-user-select: none;
	-khtml-user-select: none;
	user-select: none
}
.services2 .str_move {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	margin: 0!important;
	padding: 10px 0
}
.services2>div {
	overflow: hidden;
	display: flex;
	justify-content: flex-start
}
.services2 .str_move>div {
	width: 206px;
	min-width: 206px
}
.services2 .slick-list {
	padding: 10px 0
}
.services2 .str_move>div>.desc:after, .services2 .str_move>div>.desc:before {
	content: ' ';
	display: block;
	width: 20px;
	height: 20px;
	background: url(../images/plus22.svg) center center no-repeat;
	position: absolute;
	left: -11px;
	top: -10px;
	z-index: 2
}
.services2 .str_move>div>.desc+.desc:before {
	top: auto;
	bottom: -10px
}
.services2 .str_move>div>.desc:after {
	top: auto;
	bottom: -10px;
	left: auto;
	right: -11px
}
.niches>div:last-child:after, .niches>div:nth-last-child(2):after, .niches>div:nth-last-child(3):after, .niches>div:nth-last-child(4):after, .services2 .str_move>div>.desc+.desc:after {
	display: none
}
#markets {
	padding: 70px 0 50px
}
#markets .section-title {
	margin: 0 0 44px
}
.markets {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px
}
.markets>div {
	grid-column: 2/3;
	padding: 60px;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}
.markets>div:first-child {
	grid-column: 1/2;
	grid-row: 1/3;
	background: url(../images/market1.jpg) center center/cover no-repeat
}
.markets>div:nth-child(2) {
	background: url(../images/market2.jpg) center center/cover no-repeat
}
.markets>div:nth-child(3) {
	background: url(../images/market3.jpg) center center/cover no-repeat
}
.markets .number {
	position: absolute;
	top: 40px;
	right: 40px
}
.markets .title {
	margin: 0 0 20px;
	text-transform: uppercase;
	font-size: 58px;
	line-height: 1.25;
	font-weight: 600
}
.markets .desc {
	max-width: 470px;
	margin: 0 0 20px
}
.markets .sl-m {
	width: 100%;
	max-width: 530px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 0) 100%)
}
.markets .sl-m .slick-slide {
	padding: 30px;
	color: rgba(255, 255, 255, .5);
	height: 108px
}
.markets .sl-m .slick-slide b {
	font-weight: 400;
	color: #fff
}
.markets .slick-dots {
	display: flex;
	margin: 10px 30px 30px
}
.niches .title, .why .title {
	margin: 0 0 10px
}
.markets .slick-dots li {
	margin: 0
}
.markets .slick-dots button {
	margin: 0 20px 0 0;
	border: 0;
	box-shadow: none;
	padding: 0;
	text-indent: -9999px;
	border-radius: 30px;
	background: rgba(255, 255, 255, .3);
	width: 6px;
	height: 6px;
	transition: .25s;
	cursor: pointer;
	display: block
}
.markets .slick-dots button:hover {
	background: #fff
}
.markets .slick-dots .slick-active button {
	width: 40px;
	background: #fff
}
#niches {
	padding: 50px 0 75px
}
#niches .section-title {
	margin: 0 0 35px;
	font-size: 58px
}
#why .desc2, .niches .title, .why .title {
	font-size: 32px;
	line-height: 1.5;
	font-weight: 600;
	text-transform: uppercase
}
.niches {
	margin: 0 -12px
}
.niches>div {
	padding: 30px;
	position:relative;
	transition:all linear .25s;
}
.niches>div a {
	position: absolute;
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
}
@media screen and (min-width:1250px) {
	.niches>div.a:hover {
		background: #fff;
	}
}
@media screen and (max-width:1250px) {
	.niches .title svg {
		width: 20px;
		height: 19px;
		position: absolute;
		right: 0;
		top:5px;
	}
	.niches .title {
		position: relative;
		padding-right: 30px;
	}
}
.niches>div.a:hover .title {
	color:#3667FF;
}
.niches>div.a:hover svg {
	transform:rotate(45deg);
}
.niches .title {
	color: #fff;
	transition:all linear .25s;
}
.niches .title svg {
	margin-left: 10px;
}
.niches>div:after, .niches>div:before {
	content: ' ';
	display: block;
	width: 100%;
	left: 0;
	height: 1px;
	background: rgba(255, 255, 255, .1);
	bottom: 0;
	position: absolute
}
.niches>div:after {
	top: 0
}
#why {
	padding: 75px 0 150px
}
#why .desc-block {
	margin: 0 0 60px;
	position: relative;
	z-index: 2;
}
#why .desc-block>div:first-child {
	width: 40%
}
#why .desc1 p+p {
	margin: 40px 0 0
}
#why .desc2 {
	max-width: 710px
}
#why .container #follower {
	position: absolute;
	right: 0;
	top: 400px;
	transition: .1s linear;
	max-width: 66%;
	height: auto
}
.why>div {
	margin: 0 12px 24px;
	max-width: calc(33.33% - 24px);
	width: 100%;
	padding: 30px
}
.why>div:nth-child(3) {
	margin-top: 195px;
	margin-bottom: -195px
}
.why>div:nth-child(6) {
	margin-top: 219px
}
.why .desc {
	margin: 0 0 30px
}
.why .number {
	overflow: hidden;
	font-size: 124px;
	line-height: 1;
	height: 90px;
	font-weight: 600
}
.faq .head, .other .title {
	font-size: 32px;
	line-height: 1.5;
	font-weight: 600;
	text-transform: uppercase
}
.why .number span {
	display: block;
	margin-top: 15px
}
.why>div:first-child {
	background: url(../images/w1.png) center center/cover no-repeat
}
.why>div:nth-child(2) {
	background: url(../images/w2.png) center center/cover no-repeat
}
.why>div:nth-child(3) {
	background: url(../images/w3.png) center center/cover no-repeat
}
.why>div:nth-child(4) {
	background: url(../images/w4.png) center center/cover no-repeat
}
.why>div:nth-child(5) {
	background: url(../images/w5.png) center center/cover no-repeat
}
.why>div:nth-child(6) {
	background: url(../images/w6.png) center center/cover no-repeat
}
.blog.type2 {
	margin-top: 40px;
	justify-content: center
}
@media screen and (max-width:767px) {
	.blog.type2 {
		margin-top: 20px
	}
}
.other>a {
	display: block;
	max-width: calc(50% - 12px);
	color: #fff;
	padding: 60px 0;
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, .1)
}
.other>a:hover {
	padding-left: 30px;
	color: var(--Black, #0e0f12)
}
.other .title {
	margin: 0 0 20px
}
.other .tag {
	border-radius: 50px;
	background: #180d35;
	padding: 10px 20px;
	display: inline-block;
	color: #fff
}
.faq>div>div {
	border-top: 1px solid #2b233d
}
.faq>div:last-child>div {
	border-bottom: 1px solid #2b233d
}
.faq .head {
	align-items: center;
	padding: 50px 40px;
	margin: 0 -40px;
	color: #fff;
	transition: .6s;
	cursor: pointer
}
.faq .head:hover {
	color: #0e0f12
}
.faq .head svg {
	fill: #fff;
	display: block;
	margin-left: 20px;
	min-width: 24px;
	transition: .5s
}
.faq .head:hover svg {
	fill: #0E0F12
}
.faq .body {
	display: none;
	padding: 30px 0
}
.faq .body p+p {
	margin-top: 38px
}
.faq .layout:before {
	top: 100%;
	left: -200px;
	transition: .5s;
	transform-origin: left center
}
.faq .layout:hover:before {
	transform: scale(30)
}
.faq .head.active svg {
	transform: rotate(180deg)
}