.elementor-widget-image_text_panel .image-text-panel {
	--image-text-panel-border-color: var(--e-global-color-primary, #312783);
	--image-text-panel-box-background: var(--e-global-color-ebebeb1, #ebebeb);
	--image-text-panel-image-width: 66%;
	position: relative;
	width: auto;
	max-width: 100%;
	margin: 35px 15px 70px;
	color: var(--e-global-color-text, #595959);
}

.elementor-widget-image_text_panel .image-text-panel::before,
.elementor-widget-image_text_panel .image-text-panel::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	z-index: 2;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	content: "";
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s, transform 0.35s;
}

.elementor-widget-image_text_panel .image-text-panel::before {
	border-top: 2px solid var(--image-text-panel-border-color);
	border-bottom: 2px solid var(--image-text-panel-border-color);
	transform: scale(0, 1);
}

.elementor-widget-image_text_panel .image-text-panel::after {
	border-right: 2px solid var(--image-text-panel-border-color);
	border-left: 2px solid var(--image-text-panel-border-color);
	transform: scale(1, 0);
}

.elementor-widget-image_text_panel .image-text-panel:hover::before,
.elementor-widget-image_text_panel .image-text-panel:hover::after {
	opacity: 1;
	transform: scale(1);
}

.elementor-widget-image_text_panel .image-text-panel__media {
	width: var(--image-text-panel-image-width);
	margin-right: auto;
}

.elementor-widget-image_text_panel .image-text-panel__image {
	display: block;
	width: 100%;
	height: auto;
}

.elementor-widget-image_text_panel .image-text-panel__image-placeholder {
	display: block;
	aspect-ratio: 1600 / 816;
	width: var(--image-text-panel-image-width);
	background-color: var(--image-text-panel-box-background);
}

.elementor-widget-image_text_panel .image-text-panel__content {
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 3;
	width: 50%;
	padding: 90px 30px 125px;
	background-color: var(--image-text-panel-box-background);
	transform: translateY(-50%);
}

.elementor-widget-image_text_panel .image-text-panel--text-only .image-text-panel__content {
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	transform: none;
}

.elementor-widget-image_text_panel .image-text-panel__title {
	margin: 0 0 20px;
	color: var(--e-global-color-text, #595959);
	font-family: var(--e-global-typography-primary-font-family), var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-primary-font-size, 50px);
	font-weight: var(--e-global-typography-primary-font-weight, 100);
	letter-spacing: 0;
	line-height: var(--e-global-typography-primary-line-height, 1.1);
	text-transform: uppercase;
}

.elementor-widget-image_text_panel .image-text-panel__description {
	color: var(--e-global-color-text, #595959);
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: 22px;
	font-weight: var(--e-global-typography-text-font-weight, 100);
	letter-spacing: 0;
	line-height: var(--e-global-typography-text-line-height, 1.5);
}

.elementor-widget-image_text_panel .image-text-panel__description a {
	color: var(--e-global-color-text, #595959);

}

.elementor-widget-image_text_panel .image-text-panel__description p {
	margin: 0;
}

@media (max-width: 1024px) {
	.elementor-widget-image_text_panel .image-text-panel {
		display: flex;
		flex-direction: column;
		margin: 0 0 50px;
		padding: 20px;
	}

	.elementor-widget-image_text_panel .image-text-panel::before,
	.elementor-widget-image_text_panel .image-text-panel::after {
		display: none;
	}

	.elementor-widget-image_text_panel .image-text-panel__media {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	.elementor-widget-image_text_panel .image-text-panel__image-placeholder {
		width: 100%;
	}

	.elementor-widget-image_text_panel .image-text-panel__content {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: 100%;
		padding: 50px 30px;
		transform: none;
	}

	.elementor-widget-image_text_panel .image-text-panel__title {
		font-size: 35px;
	}
}

@media (max-width: 767px) {
	.elementor-widget-image_text_panel .image-text-panel {
		margin-bottom: 0;
	}

	.elementor-widget-image_text_panel .image-text-panel__content {
		padding: 20px;
	}

	.elementor-widget-image_text_panel .image-text-panel__title {
		font-size: 25px;
	}

	.elementor-widget-image_text_panel .image-text-panel__description {
		font-size: 16px;
	}
}