/**
 * Connect
 *
 * @format
 */

.connect {
	padding-bottom: 115px;
	position: relative;
	color: var(--color-white);
	background: linear-gradient(135deg, #140a53 0%, #255667 100%);
}

.connect-holder {
	position: relative;
	z-index: 1;
}

.connect-list {
	margin-bottom: 35px;
	overflow: hidden;
}

.connect-item {
	padding: 30px 10px 30px 66px;
	position: relative;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-white);
	border-bottom: 2px solid rgba(255, 255, 255, 0.15);
	line-height: 1;
}

.connect-item i {
	position: absolute;
	top: 50%;
	left: 0;
	pointer-events: none;
	transform: translateY(-50%);
}

.connect-item:nth-child(1) {
	animation-delay: 200ms;
}

.connect-item:nth-child(2) {
	animation-delay: 400ms;
}

.connect-item:nth-child(3) {
	animation-delay: 800ms;
}

.connect-item:last-of-type {
	border-bottom: 0;
}

.connect-content {
	margin-bottom: 39px;
	text-align: center;
}

.connect .sub-title {
	margin-bottom: 1px;
	line-height: 1.1;
}

.connect-content h1 {
	margin-bottom: 47px;
	font-size: 3.125rem;
	color: inherit;
	line-height: 1;
}

.connect-result {
	margin-bottom: 35px;
	text-align: center;
	line-height: 1.2;
}

.connect-counter {
	margin-bottom: 8px;
	display: flex;
	justify-content: center;
	font-size: 4.375rem;
	font-weight: 800;
	color: var(--color-secondary);
	line-height: 1;
	letter-spacing: -0.219rem;
}

.connect-counter span {
	display: block;
	width: 20px;
}

.connect-result strong {
	display: block;
	font-size: 1.125rem;
}

.connect-image {
	margin-bottom: 25px;
}

.connect-image img {
	display: block;
	width: 100%;
	height: 315px;
	object-fit: cover;
}

.connect-text h3 {
	margin-bottom: 8px;
	font-size: 1.875rem;
	font-family: var(--font-family-body);
	font-weight: 200;
	line-height: 1.2;
	color: inherit;
	letter-spacing: -0.075rem;
}

.connect-text h3 strong {
	margin-bottom: 7px;
	display: block;
	font-size: 3.125rem;
	font-weight: 700;
	color: var(--color-secondary);
	line-height: 1;
	letter-spacing: -0.138rem;
}

.connect-text p {
	margin-bottom: 23px;
}

.connect-text-button.button {
	color: var(--color-white);
}

.connect-text-button.button:hover,
.connect-text-button.button:focus {
	color: var(--color-secondary);
}

.connect-row {
	z-index: 1;
	position: relative;
}

.connect-circle {
	position: absolute;
	bottom: -204px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 185px;
	height: 186px;
	cursor: pointer;
	font-size: 2.75rem;
	color: var(--color-secondary);
	transform: translateX(-50%);
}

.connect-circle .circle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: animate-rotate 30s infinite linear;
	pointer-events: none;
}

.connect-arrow {
	display: flex;
}

.connect-arrow .swiper-button-prev {
	margin-right: 9px;
}

@media screen and (max-width: 767px) {
	.connect-form {
		animation-delay: 2000ms;
		margin-left: calc(var(--gutter-size) * -1);
		margin-right: calc(var(--gutter-size) * -1);
	}

	.connect-form .form-container {
		padding: var(--gutter-size);
		background: var(--color-secondary);
	}

	.connect-form .form-container.is-active {
		background: linear-gradient(205.05deg, rgba(255, 255, 255, 0.87) 39.21%, rgba(255, 255, 255, 0.696) 90.92%), #2485a6;
	}

	.connect-form .form-container h2 {
		font-size: 1.5rem;
		margin-bottom: 0;
	}

	.connect-form .form-container h2:after {
		content: '\f0da';
		margin-left: 5px;
		font-size: 90%;
		font-family: var(--font-family-icon);
	}

	.connect-form .form-container form {
		display: none;
		padding-top: 14px;
	}

	.connect-form .form-container.is-active form {
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.connect {
		padding-bottom: 27px;
	}

	.connect-row {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.connect-list {
		margin-bottom: 0;
		width: 52%;
		order: 1;
	}

	.connect-item {
		padding: 42px 10px 44px 70px;
	}

	.connect-form {
		margin-top: -73px;
		padding-left: 17px;
		width: 48%;
		order: 2;
		animation-delay: 2800ms;
	}

	.connect-content {
		margin-top: -152px;
		margin-bottom: 53px;
		text-align: left;
	}

	.connect .sub-title {
		width: 50%;
	}

	.connect .sub-title:before {
		top: 18px;
		background-color: var(--color-white);
	}

	.connect-content h1 {
		margin-bottom: 41px;
		width: 50%;
		font-size: 3.75rem;
	}

	.connect-wrap {
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(4, 1fr);
	}

	.connect-result {
		margin-bottom: 0;
	}

	.connect-counter {
		font-size: 3.125rem;
	}

	.connect-image {
		margin-bottom: 0;
		margin-left: -107px;
		padding-right: 4px;
		width: calc(47% + 107px);
	}

	.connect-image .swiper {
		height: 100%;
	}

	.connect-image img {
		height: 100%;
		object-fit: cover;
	}

	.connect-text {
		width: 53%;
	}

	.connect-text {
		padding-left: 25px;
	}

	.connect-text h3 strong {
		margin-bottom: 2px;
		font-size: 4.063rem;
		letter-spacing: -0.206rem;
	}

	.connect-text h3 {
		margin-bottom: 28px;
		font-size: 2.188rem;
		line-height: 1;
		letter-spacing: -0.113rem;
	}

	.connect-text p {
		margin-bottom: 15px;
	}

	.connect-arrow {
		justify-content: flex-end;
	}

	.connect-circle {
		margin-top: -35px;
		position: unset;
		bottom: auto;
		left: auto;
		transform: translateX(0) translateY(30px);
	}
}

@media screen and (min-width: 1025px) {
	.connect-list {
		padding-right: 41px;
	}

	.connect-form .form-container {
		padding: 43px 45px 54px;
	}

	.connect-form .form-container h2 {
		margin-bottom: 32px;
	}

	.connect-wrap {
		gap: 80px;
	}

	.connect-content {
		position: relative;
	}

	.connect-content:before {
		top: 25px;
		left: -90px;
		content: '';
		width: 764px;
		height: 796px;
		display: block;
		position: absolute;
		background-image: url('../../images/_bg-mark.png');
		background-size: contain;
		background-position: left top;
		background-repeat: no-repeat;
		pointer-events: none;
	}

	.connect-text {
		padding-top: 88px;
		padding-left: 56px;
	}

	.connect-counter {
		font-size: 4.375rem;
	}

	.connect .gform_fields {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.connect .gfield:nth-child(1),
	.connect .gfield:nth-child(2) {
		width: calc(50% - 10px);
	}

	.connect .gfield {
		margin-bottom: 20px;
		width: 100%;
	}
}

@media screen and (min-width: 1280px) {
	.connect-row {
		margin-bottom: -50px;
	}
}
