.kkp-popup {
	--kkp-width: 560px;
	--kkp-bg: #ffffff;
	--kkp-accent: #f58220;
	--kkp-radius: 14px;
	--kkp-overlay-color: #121212;
	--kkp-overlay: 0.54;
	--kkp-border-width: 0px;
	--kkp-border-color: transparent;
	--kkp-border-style: solid;
	--kkp-close-size: 34px;
	--kkp-close-font-size: 23px;
	--kkp-close-offset-x: 0px;
	--kkp-close-offset-y: 0px;
	--kkp-duration: 190ms;
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	font-family: inherit;
	color: #181818;
}

.kkp-popup.kkp-open {
	display: block;
}

.kkp-has-open {
	overflow: hidden;
}

.kkp-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--kkp-overlay-color);
	opacity: var(--kkp-overlay);
}

.kkp-frame {
	position: absolute;
	z-index: 2;
	width: min(var(--kkp-width), calc(100vw - 32px));
	max-height: calc(100vh - 40px);
}

.kkp-box {
	position: relative;
	width: 100%;
	max-height: inherit;
	overflow: visible;
	background: var(--kkp-bg);
	border: var(--kkp-border-width) var(--kkp-border-style) var(--kkp-border-color);
	border-radius: var(--kkp-radius);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	outline: none;
}

.kkp-position-center .kkp-frame {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.kkp-position-bottom_right .kkp-frame {
	right: 24px;
	bottom: 24px;
}

.kkp-position-bottom_left .kkp-frame {
	left: 24px;
	bottom: 24px;
}

.kkp-position-top_bar .kkp-frame,
.kkp-position-bottom_bar .kkp-frame,
.kkp-type-bar .kkp-frame {
	left: 50%;
	width: min(var(--kkp-width), calc(100vw - 24px));
	transform: translateX(-50%);
}

.kkp-position-top_bar .kkp-frame {
	top: 14px;
}

.kkp-position-bottom_bar .kkp-frame,
.kkp-type-bar .kkp-frame {
	bottom: 14px;
}

.kkp-type-slidein .kkp-overlay,
.kkp-type-bar .kkp-overlay {
	background: transparent;
	pointer-events: none;
}

.kkp-close {
	position: absolute;
	top: var(--kkp-close-offset-y);
	right: var(--kkp-close-offset-x);
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--kkp-close-size);
	height: var(--kkp-close-size);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #343434;
	font-size: var(--kkp-close-font-size);
	line-height: 1;
	cursor: pointer;
}

.kkp-close-position-top_left_inside .kkp-close {
	right: auto;
	left: var(--kkp-close-offset-x);
}

.kkp-close-position-top_right_outside .kkp-close {
	transform: translate(50%, -50%);
}

.kkp-close-position-top_left_outside .kkp-close {
	right: auto;
	left: var(--kkp-close-offset-x);
	transform: translate(-50%, -50%);
}

.kkp-close:hover,
.kkp-close:focus {
	background: transparent;
	color: #000;
}

.kkp-has-elementor .kkp-box > .elementor {
	width: 100%;
}

.kkp-has-elementor .kkp-box > .elementor > .e-con:first-child,
.kkp-has-elementor .kkp-box > .elementor > .elementor-element.e-con:first-child,
.kkp-has-elementor .kkp-box > .elementor > .elementor-section:first-child {
	width: 100%;
	max-width: 100%;
}

.kkp-elementor-stack .kkp-box > .elementor > .e-con:first-child,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-element.e-con:first-child,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-section:first-child {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

.kkp-elementor-stack .kkp-box > .elementor > .e-con:first-child > .e-con-inner,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-element.e-con:first-child > .e-con-inner,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-section:first-child > .elementor-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
}

.kkp-elementor-stack .kkp-box > .elementor > .e-con:first-child > .elementor-element,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-element.e-con:first-child > .elementor-element,
.kkp-elementor-stack .kkp-box > .elementor > .e-con:first-child > .e-con-inner > .elementor-element,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-element.e-con:first-child > .e-con-inner > .elementor-element,
.kkp-elementor-stack .kkp-box > .elementor > .elementor-section:first-child > .elementor-container > .elementor-column {
	width: 100% !important;
	max-width: 100% !important;
}

.kkp-animation-none.kkp-open .kkp-box {
	animation: none;
}

.kkp-animation-fade.kkp-open .kkp-box {
	animation: kkpFade var(--kkp-duration) ease-out both;
}

.kkp-animation-scale.kkp-open .kkp-box,
.kkp-animation-zoom_in.kkp-open .kkp-box {
	animation: kkpZoomIn var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.kkp-animation-zoom_out.kkp-open .kkp-box {
	animation: kkpZoomOut var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.kkp-animation-slide.kkp-open .kkp-box {
	animation: kkpFromRight var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.kkp-animation-slide_left.kkp-open .kkp-box {
	animation: kkpFromLeft var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.kkp-animation-slide_down.kkp-open .kkp-box {
	animation: kkpFromTop var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.kkp-animation-rise.kkp-open .kkp-box {
	animation: kkpFromBottom var(--kkp-duration) cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes kkpFade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes kkpZoomIn {
	from {
		opacity: 0;
		transform: scale(0);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes kkpZoomOut {
	from {
		opacity: 0;
		transform: scale(1.45);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes kkpFromRight {
	from {
		opacity: 0;
		transform: translateX(calc(100vw + 100% + 96px));
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes kkpFromLeft {
	from {
		opacity: 0;
		transform: translateX(calc(-100vw - 100% - 96px));
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes kkpFromTop {
	from {
		opacity: 0;
		transform: translateY(calc(-100vh - 100% - 96px));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes kkpFromBottom {
	from {
		opacity: 0;
		transform: translateY(calc(100vh + 100% + 96px));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767px) {
	.kkp-popup {
		inset: 0;
	}

	.kkp-frame,
	.kkp-position-bottom_right .kkp-frame,
	.kkp-position-bottom_left .kkp-frame {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
		max-height: calc(100vh - 24px);
	}

	.kkp-position-center .kkp-frame {
		top: auto;
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
		transform: none;
	}
}
