.banner5050 {

}

.banner5050 .container {
	
}

.banner5050 .container .flex-container {
	width: 100%;
	min-height: 100vh;
	align-items: stretch;
}

.mobile {
	display: none;
}

.banner5050 .container .flex-container .half {
	position: relative;
	width: 50%;
	overflow-y: clip;
}

.banner5050 .container .flex-container .half.text .inside {
	padding: 50px 0;
}

.banner5050 .container .flex-container .half.text {
	justify-self: center;
    align-self: center;
    align-items: center;
}

.banner5050 .container .flex-container .half img {
	width: 100%;
	height: auto;
}

.banner5050 .container .flex-container .half video {
	width: 100%;
	height: auto;
}

.banner5050 .container .flex-container .half h2 {
	max-width: 550px;
	color: var(--KSY-web-blue-1, #0946CE);
	font-family: Inter;
	font-size: 100px;
	font-style: normal;
	font-weight: 600;
	line-height: 95%; /* 95px */
	letter-spacing: -4px;
	margin: 0 auto 0 0;
}

.banner5050 .container .flex-container .half h2 * {
	color: inherit;
	font-size: 70px;
	line-height: 110%; /* 77px */
	letter-spacing: -2.1px;
	margin: 0 auto;
}

.banner5050 .container .flex-container .half h2 i {
	font-style: italic;
}

.banner5050 .container .flex-container .half h2 b,
.banner5050 .container .flex-container .half h2 strong {
	font-weight: 600;
}

.banner5050 .container .flex-container .half span {
	font-family: Inter;
	font-size: 36px;
	font-style: normal;
	font-weight: 400;
	margin: 0 auto 16px auto;
	line-height: 100%; /* 36px */
	letter-spacing: -0.72px;
}

.banner5050 .container .flex-container .half p {
	color: var(--KSY-web-blue-1, #0946CE);
	font-family: Inter;
	max-width: 600px;
	font-size: 20px;
	font-style: normal;
	font-weight: 300;
	line-height: 120%; /* 28.8px */
	letter-spacing: -0.48px;
	margin: 40px auto 0 auto;
}

.banner5050 .container .flex-container .half ul,
.banner5050 .container .flex-container .half ol {
	max-width: 472px;
}

.banner5050 .container .flex-container .half ul li,
.banner5050 .container .flex-container .half ol li {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 120%; /* 19.2px */
	letter-spacing: -0.48px;
	color: #fff;
}

.banner5050 .container .flex-container .half a {
	display: block;
	font-family: Inter;
	margin: 40px auto 0 0;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 110%;
	max-width: 320px;
}

.banner5050 .container .flex-container .half a:hover {
	background: #0946ce !important;
	color: #f2f2f2 !important;
}

.banner5050 .container .flex-container .half a:hover svg path {
	fill: #f2f2f2 !important;
}

.banner5050 .container .flex-container .img-left,
.banner5050 .container .flex-container .img-right {
	position: relative;
	min-height: 100vh;
}

.banner5050 .container .flex-container .img-left img {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 50vw;
    width: auto;
    min-height: 100%;
    max-height: 100%;
}

.banner5050 .container .flex-container .img-right img {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 50vw;
    width: auto;
    min-height: 100%;
    max-height: 100%;
	
}

.banner5050 .container .flex-container .img-left video {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 50vw;
    width: auto;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
}

.banner5050 .container .flex-container .img-right video {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 50vw;
    width: auto;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
}

.banner5050 .container .flex-container .half {
	justify-content: start;
}

.banner5050 .container .flex-container .img-left + .half {
	justify-content: end;
}

@media only screen and (max-width: 996px) {
	.banner5050 {
		position: relative;
	}

	.banner5050 .container .flex-container .half {
		width: 100%;
		min-height: auto;
		order: 2;
	}

	.mobile.bg {
		position: absolute;
		display: block;
		z-index: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.banner5050 .container .flex-container .half ul,
	.banner5050 .container .flex-container .half ol  {
		padding-left: 15px;
	}

	.banner5050 .container .flex-container .half ul li,
	.banner5050 .container .flex-container .half ol li {
		margin-bottom: 10px;
	}

	.banner5050 .container .flex-container .half.text .inside {
		padding: 50px 0 50px 0;
	}

	.banner5050 .container .flex-container .img-left,
	.banner5050 .container .flex-container .img-right {
		margin: 0 -15px 0 -15px;
		width: calc(100% + 30px);
		padding: 0;
		order: 1;
	}

	.banner5050 .container .flex-container {
		width: auto;
		min-height: auto;
	}

	.banner5050 .container .flex-container .half .inside {
		padding-top: 50px !important;
	}

	.banner5050 .container .flex-container .half h2,
	.banner5050 .container .flex-container .half h2 * {
		font-size: 44px;
		line-height: 100%;
		letter-spacing: 0;
	}

	.banner5050 .container .flex-container .half a {
		max-width: 100%;
	}

	.banner5050 .container .flex-container .img-left img,
	.banner5050 .container .flex-container .img-right img {
        position: relative;
        max-width: calc(100% + 30px);
        width: calc(100% + 30px);
        max-height: 100%;
        height: 540px;
        object-fit: cover;
	}

	.banner5050 .container .flex-container .img-left video,
	.banner5050 .container .flex-container .img-right video {
        position: relative;
        max-width: calc(100% + 30px);
        width: calc(100% + 30px);
        max-height: 100%;
        height: 540px;
        object-fit: cover;
	}

	.banner5050 .container .flex-container .half p,
	.banner5050 .container .flex-container .half p * {
		font-size: 18px;
	}

	.banner5050 .container .flex-container .half p {
		margin-top: 20px;
	}

	.banner5050 .container .flex-container .half p a {
		margin-top: 20px;
	}

	.banner5050 .container .flex-container .half h2 {
		letter-spacing: 0;
	}
}